Function at 0x100c28c0
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xe4
mov eax, dword [0x101a42b4]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
mov al, 0x6c
push ebp
mov ebp, dword [esp + 0xf0]
mov dl, 0x6b
mov cl, 0x2e
push edi
mov byte [esp + 0xc8], dl
mov byte [esp + 0xc9], 0x65
mov byte [esp + 0xca], 0x72
mov byte [esp + 0xcb], 0x6e
mov byte [esp + 0xcc], 0x65
mov byte [esp + 0xcd], al
mov byte [esp + 0xce], 0x62
mov byte [esp + 0xcf], 0x61
mov byte [esp + 0xd0], 0x73
mov byte [esp + 0xd1], 0x65
mov byte [esp + 0xd2], cl
mov byte [esp + 0xd3], 0x64
mov byte [esp + 0xd4], al
mov byte [esp + 0xd5], al
mov byte [esp + 0xd6], 0
test dh, dh
mov byte [esp + 0xb8], dl
mov bl, 0x33
mov dl, 0x32
mov byte [esp + 0xb9], 0x65
mov byte [esp + 0xba], 0x72
mov byte [esp + 0xbb], 0x6e
mov byte [esp + 0xbc], 0x65
mov byte [esp + 0xbd], al
mov byte [esp + 0xbe], bl
mov byte [esp + 0xbf], dl
mov byte [esp + 0xc0], cl
mov byte [esp + 0xc1], 0x64
mov byte [esp + 0xc2], al
mov byte [esp + 0xc3], al
mov byte [esp + 0xc4], 0
test esi, esi
mov byte [esp + 0x94], 0x6e
mov byte [esp + 0x95], 0x74
mov byte [esp + 0x96], 0x64
mov byte [esp + 0x97], al
mov byte [esp + 0x98], al
mov byte [esp + 0x99], cl
mov byte [esp + 0x9a], 0x64
mov byte [esp + 0x9b], al
mov byte [esp + 0x9c], al
mov byte [esp + 0x9d], 0
mov esi, esi
mov byte [esp + 0xac], 0x75
mov byte [esp + 0xad], 0x73
mov byte [esp + 0xae], 0x65
mov byte [esp + 0xaf], 0x72
mov byte [esp + 0xb0], bl
mov byte [esp + 0xb1], dl
mov byte [esp + 0xb2], cl
mov byte [esp + 0xb3], 0x64
mov byte [esp + 0xb4], al
mov byte [esp + 0xb5], al
mov byte [esp + 0xb6], 0
push ecx
pop ecx
mov byte [esp + 0xa0], 0x69
mov byte [esp + 0xa1], 0x6d
mov byte [esp + 0xa2], 0x6d
mov byte [esp + 0xa3], bl
mov byte [esp + 0xa4], dl
mov byte [esp + 0xa5], cl
mov byte [esp + 0xa6], 0x64
mov byte [esp + 0xa7], al
mov byte [esp + 0xa8], al
mov byte [esp + 0xa9], 0
test eax, 0x683b
xor ebx, ebx
test al, al
xor edi, edi
test bh, bh
call fcn.1004b250
test eax, eax
je 0x100c2ad5
call fcn.100c0e10
mov edi, eax
mov ecx, ecx
call fcn.100c0d30
mov ebx, eax
test edx, edx
cmp dword [esp + 0xf8], 0
push 0
push 0
jne 0x100c314a
lea eax, [esp + 0xd0]
push eax
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x5c], eax
mov esi, esi
push 0
push 0
lea ecx, [esp + 0xc0]
push ecx
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x44], eax
xchg ebx, eax
xchg ebx, eax
push 0
push 0
lea edx, [esp + 0x9c]
push edx
push ebp
call fcn.100337d0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x2c], ebx
mov eax, eax
push 0
push 0
lea eax, [esp + 0xb4]
push eax
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x54], eax
mov edx, edx
push 0
push 0
lea ecx, [esp + 0xa8]
push ecx
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x3c], eax
mov ch, ch
test ebx, ebx
jne 0x100c2b86
lea edx, [esp + 0x94]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov ebx, eax
mov dword [esp + 0x2c], eax
mov dh, dh
cmp dword [esp + 0x44], 0
jne 0x100c2ba1
lea eax, [esp + 0xb8]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x44], eax
mov ch, ch
cmp dword [esp + 0x5c], 0
jne 0x100c2bbc
lea ecx, [esp + 0xc8]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x5c], eax
push edx
pop edx
cmp dword [esp + 0x54], 0
jne 0x100c2bd7
lea edx, [esp + 0xac]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x54], eax
push eax
pop eax
cmp dword [esp + 0x3c], 0
jne 0x100c2bf5
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x3c], eax
test eax, 0x2cec
cmp dword [esp + 0x44], 0
je 0x100c36d7
test ebx, ebx
je 0x100c36d7
xor ebx, ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
push edx
pop edx
call fcn.1004b250
test eax, eax
je 0x100c2c3a
push ebx
push ebx
lea ecx, [esp + 0x9c]
push ecx
push edi
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
test eax, eax
test ebx, ebx
mov ecx, esi
xor edi, edi
call fcn.100c1a30
test eax, eax
jbe 0x100c36ba
mov dword [esp + 0x34], edi
mov eax, dword [esi + 4]
test eax, eax
je 0x100c2c74
mov ecx, dword [esi + 8]
sub ecx, eax
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp edi, eax
jb 0x100c2c79
call fcn.100f6196
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x34]
mov ebx, 0x64
cmp dword [eax + edx + 0x30], ebx
push edi
mov ecx, esi
jae 0x100c2f26
call fcn.100c1a60
cmp dword [eax + 0x30], 0x14
jae 0x100c2e28
test edi, edi
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0
jne 0x100c2cc0
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x4c], ecx
test ch, ch
jmp 0x100c2d4e
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 1
jne 0x100c2cda
mov edx, dword [esp + 0x44]
mov dword [esp + 0x4c], edx
push ecx
pop ecx
jmp 0x100c2d4e
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 2
jne 0x100c2cf4
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov edi, edi
jmp 0x100c2d4e
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 3
jne 0x100c2d0e
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4c], ecx
test cl, cl
jmp 0x100c2d4e
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 4
jne 0x100c2d28
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
mov ebp, ebp
jmp 0x100c2d4e
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0xa
je 0x100c2d44
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0xb
jne 0x100c2d4e
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
test ecx, ecx
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x60], 0
je 0x100c3116
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x60]
add eax, dword [esp + 0x4c]
push edi
cdq
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x84], edx
call fcn.100c1a60
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
push eax
pop eax
xor ebx, ebx
mov dword [esp + 0xc], ebx
test ebx, ebx
lea edx, [esp + 0xc]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.1004d450
add esp, 0x18
mov edx, edx
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax + 0x34]
jne 0x100c36d7
mov dword [esp + 0x1c], ebx
push ebx
pop ebx
lea edx, [esp + 0x1c]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.1004d530
add esp, 0x18
test dh, dh
jmp 0x100c3116
mov bh, bh
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0x16
jne 0x100c2e4a
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
push ebx
pop ebx
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x60], 0
je 0x100c3116
push edi
mov ecx, esi
call fcn.100c1a60
mov ebx, dword [eax + 0x60]
xor eax, eax
add ebx, dword [esp + 0x74]
push edi
adc eax, dword [esp + 0x7c]
mov ecx, esi
mov dword [esp + 0x74], eax
call fcn.100c1a60
mov edx, dword [esp + 0x70]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
test dh, dh
mov dword [esp + 0x14], 0
nop
lea eax, [esp + 0x14]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov edx, dword [eax + 0x6c]
mov eax, dword [eax + 0x68]
push edx
push eax
push ebp
call fcn.1004d450
add esp, 0x18
test edx, edx
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0x34]
jne 0x100c36d7
mov dword [esp + 0x20], 0
xchg ebx, eax
xchg ebx, eax
lea edx, [esp + 0x20]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.1004d530
add esp, 0x18
test edx, edx
jmp 0x100c3116
call fcn.100c1a60
cmp dword [eax + 0x30], ebx
jne 0x100c2ffa
mov dword [esp + 0x10], 0
push eax
pop eax
nop
push ebp
call fcn.10032c50
add esp, 4
test cl, cl
test eax, eax
je 0x100c3116
lea ebx, [eax + 0x2c]
lea eax, [esp + 0x10]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x4c
push eax
push 0
push ebx
push ebp
call fcn.1004d450
add esp, 0x18
test eax, eax
je 0x100c3116
mov dword [esp + 0x18], 0
test ecx, ecx
push edi
mov ecx, esi
call fcn.100c1a60
mov dword [eax + 0x60], 1
test ch, ch
mov eax, ebx
cdq
push edi
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x94], edx
call fcn.100c1a60
mov edx, dword [esp + 0x90]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
mov ah, ah
lea eax, [esp + 0x18]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100c1a60
mov edx, dword [esp + 0x98]
add eax, 0x38
push eax
push edx
push ebx
push ebp
call fcn.1004d530
add esp, 0x18
mov bh, bh
jmp 0x100c3116
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0xc8
jne 0x100c3116
mov dword [esp + 0x10], 0
test edx, edx
test cl, cl
push ebp
call fcn.10032c50
add esp, 4
mov ebx, eax
test esi, esi
test ebx, ebx
je 0x100c3116
push ebx
pop ebx
lea eax, [esp + 0x10]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x34]
push ecx
lea edx, [esp + 0xe0]
push edx
push 0
add ebx, 0x2c
push ebx
push ebp
call fcn.1004d450
add esp, 0x18
test eax, eax
je 0x100c3116
mov ebx, dword [esp + 0xd8]
mov ebp, ebp
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x74]
lea ebx, [ebx + eax*4]
test ch, ch
lea ecx, [esp + 0x10]
push ecx
push edi
mov ecx, esi
call fcn.100c1a60
mov edx, dword [eax + 0x34]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x4c
push eax
push 0
push ebx
push ebp
call fcn.1004d450
add esp, 0x18
test eax, eax
je 0x100c3116
mov dword [esp + 0x24], 0
nop
push edi
mov ecx, esi
call fcn.100c1a60
mov dword [eax + 0x60], 1
test bh, bh
mov eax, ebx
cdq
push edi
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x8c], edx
call fcn.100c1a60
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov bh, bh
lea edx, [esp + 0x24]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [esp + 0x90]
add eax, 0x38
push eax
push ecx
push ebx
push ebp
call fcn.1004d530
add esp, 0x18
mov bl, bl
add dword [esp + 0x34], 0x78
mov ecx, esi
add edi, 1
call fcn.100c1a30
cmp edi, eax
jb 0x100c2c51
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.100f43d6
add esp, 0xe4
ret
lea edx, [esp + 0xd0]
push edx
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
test dl, dl
push 0
push 0
lea eax, [esp + 0xc0]
push eax
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
mov edx, edx
push 0
push 0
lea ecx, [esp + 0x9c]
push ecx
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
push eax
pop eax
push 0
push 0
lea edx, [esp + 0xb4]
push edx
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
test ah, ah
push 0
push 0
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
test eax, eax
test edi, edi
je 0x100c36d7
test ebx, ebx
je 0x100c36d7
mov ecx, dword [esp + 0x54]
or ecx, dword [esp + 0x58]
jne 0x100c3218
push ecx
push ecx
lea edx, [esp + 0x9c]
push edx
push edi
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
test bl, bl
mov eax, dword [esp + 0x5c]
or eax, dword [esp + 0x60]
jne 0x100c323f
push eax
push eax
lea ecx, [esp + 0xc0]
push ecx
push edi
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
push ecx
pop ecx
mov edx, dword [esp + 0x4c]
or edx, dword [esp + 0x50]
jne 0x100c3266
push edx
push edx
lea eax, [esp + 0xd0]
push eax
push edi
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov dh, dh
mov ecx, dword [esp + 0x44]
or ecx, dword [esp + 0x48]
jne 0x100c328d
push ecx
push ecx
lea edx, [esp + 0xb4]
push edx
push edi
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov cl, cl
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x100c32b4
push eax
push eax
lea ecx, [esp + 0xa8]
push ecx
push ebx
call fcn.100337d0
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
test dl, dl
mov edx, dword [esp + 0x5c]
or edx, dword [esp + 0x60]
je 0x100c36d7
mov eax, dword [esp + 0x54]
or eax, dword [esp + 0x58]
je 0x100c36d7
mov ebp, ebp
mov ecx, esi
xor edi, edi
call fcn.100c1a30
test eax, eax
jbe 0x100c36ba
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0x64
jae 0x100c34b2
mov ch, ch
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0
jne 0x100c331c
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov dl, dl
jmp 0x100c33d5
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 1
jne 0x100c3341
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov esi, esi
jmp 0x100c33d5
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 2
jne 0x100c3363
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
test ebx, ebx
jmp 0x100c33d5
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 3
jne 0x100c3385
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
test bh, bh
jmp 0x100c33d5
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 4
jne 0x100c33a7
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
test eax, eax
jmp 0x100c33d5
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0xa
je 0x100c33c3
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0xb
jne 0x100c33d5
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
push ebx
pop ebx
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x60], 0
je 0x100c36a8
push edi
mov ecx, esi
call fcn.100c1a60
mov ebx, dword [eax + 0x60]
xor eax, eax
add ebx, dword [esp + 0x3c]
push edi
adc eax, dword [esp + 0x44]
mov ecx, esi
mov dword [esp + 0x74], eax
call fcn.100c1a60
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
test eax, eax
mov dword [esp + 0x14], 0
mov cl, cl
lea edx, [esp + 0x14]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.1004d450
add esp, 0x18
test ch, ch
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0x34]
jne 0x100c36d7
mov dword [esp + 0x20], 0
test bh, bh
lea edx, [esp + 0x20]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.1004d530
add esp, 0x18
mov ah, ah
jmp 0x100c36a8
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0x65
jne 0x100c358c
mov bl, bl
push ecx
pop ecx
lea eax, [esp + 0x2c]
push eax
push ebp
call fcn.10033ea0
add esp, 8
mov ebx, ebx
or eax, edx
je 0x100c36a8
mov dword [esp + 0xc], 0
test dh, dh
lea ecx, [esp + 0xc]
push ecx
push edi
mov ecx, esi
call fcn.100c1a60
mov edx, dword [eax + 0x34]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [esp + 0x34]
add eax, 0x4c
push eax
mov eax, dword [esp + 0x3c]
push eax
push ecx
push ebp
call fcn.1004d450
add esp, 0x18
test eax, eax
je 0x100c36a8
mov dword [esp + 0x1c], 0
mov ch, ch
push edi
mov ecx, esi
call fcn.100c1a60
mov dword [eax + 0x60], 1
test edi, edi
push edi
mov ecx, esi
call fcn.100c1a60
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x68], edx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x6c], ecx
mov ebp, ebp
lea edx, [esp + 0x1c]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add eax, 0x38
push eax
push ecx
push edx
push ebp
call fcn.1004d530
add esp, 0x18
test edx, edx
jmp 0x100c36a8
push edi
mov ecx, esi
call fcn.100c1a60
cmp dword [eax + 0x30], 0xc9
jne 0x100c36a8
test ah, ah
test cl, cl
lea eax, [esp + 0x34]
push eax
push ebp
call fcn.10033ea0
mov ebx, eax
add esp, 8
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], edx
mov ebx, ebx
mov ecx, ebx
or ecx, edx
je 0x100c36a8
mov dword [esp + 0xc], 0
mov ebp, ebp
lea edx, [esp + 0xc]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x74]
add ecx, ecx
add ecx, ecx
add ecx, ecx
xor edx, edx
add ecx, ebx
adc edx, dword [esp + 0x74]
push edx
push ecx
push ebp
call fcn.1004d450
add esp, 0x18
test eax, eax
je 0x100c36a8
mov dword [esp + 0x18], 0
mov dl, dl
push edi
mov ecx, esi
call fcn.100c1a60
mov dword [eax + 0x60], 1
mov edi, edi
push edi
mov ecx, esi
call fcn.100c1a60
mov ebx, dword [eax + 0x74]
add ebx, ebx
add ebx, ebx
xor eax, eax
add ebx, ebx
add ebx, dword [esp + 0x64]
push edi
adc eax, dword [esp + 0x6c]
mov ecx, esi
mov dword [esp + 0x84], eax
call fcn.100c1a60
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
test al, al
lea edx, [esp + 0x18]
push edx
push edi
mov ecx, esi
call fcn.100c1a60
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100c1a60
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100c1a60
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.1004d530
add esp, 0x18
mov esi, esi
mov ecx, esi
add edi, 1
call fcn.100c1a30
cmp edi, eax
jb 0x100c32e3
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.100f43d6
add esp, 0xe4
ret
mov ecx, dword [esp + 0xec]
pop edi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.100f43d6
add esp, 0xe4
ret