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

Disassembly:
sub esp, 0xe4
mov eax, dword [0x101cc114]
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
push edx
pop edx
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
mov eax, eax
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
mov ebp, ebp
xor ebx, ebx
push ecx
pop ecx
xor edi, edi
nop
call fcn.10066340
test eax, eax
je 0x100e9eb1
call fcn.100e8210
mov edi, eax
mov al, al
call fcn.100e8130
mov ebx, eax
push ebx
pop ebx
cmp dword [esp + 0xf8], 0
push 0
push 0
jne 0x100ea521
lea eax, [esp + 0xd0]
push eax
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x5c], eax
nop
push 0
push 0
lea ecx, [esp + 0xc0]
push ecx
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x44], eax
mov bh, bh
push 0
push 0
lea edx, [esp + 0x9c]
push edx
push ebp
call fcn.1004d340
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x2c], ebx
mov ch, ch
push 0
push 0
lea eax, [esp + 0xb4]
push eax
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x54], eax
nop
push 0
push 0
lea ecx, [esp + 0xa8]
push ecx
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x3c], eax
mov ecx, ecx
test ebx, ebx
jne 0x100e9f60
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 0x100e9f7b
lea eax, [esp + 0xb8]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x44], eax
mov dh, dh
cmp dword [esp + 0x5c], 0
jne 0x100e9f96
lea ecx, [esp + 0xc8]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x5c], eax
mov edx, edx
cmp dword [esp + 0x54], 0
jne 0x100e9fb0
lea edx, [esp + 0xac]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x54], eax
nop
cmp dword [esp + 0x3c], 0
jne 0x100e9fcb
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x3c], eax
mov dl, dl
cmp dword [esp + 0x44], 0
je 0x100eaaaa
test ebx, ebx
je 0x100eaaaa
xor ebx, ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov al, al
call fcn.10066340
test eax, eax
je 0x100ea010
push ebx
push ebx
lea ecx, [esp + 0x9c]
push ecx
push edi
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov ah, ah
mov bh, bh
mov ecx, esi
xor edi, edi
call fcn.100e8e20
test eax, eax
jbe 0x100eaa8d
mov dword [esp + 0x34], edi
mov eax, dword [esi + 4]
test eax, eax
je 0x100ea04a
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 0x100ea04f
call fcn.101196b5
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 0x100ea2fc
call fcn.100e8e50
cmp dword [eax + 0x30], 0x14
jae 0x100ea1fe
mov eax, eax
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0
jne 0x100ea096
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x4c], ecx
mov ch, ch
jmp 0x100ea124
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 1
jne 0x100ea0b0
mov edx, dword [esp + 0x44]
mov dword [esp + 0x4c], edx
mov ebx, ebx
jmp 0x100ea124
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 2
jne 0x100ea0ca
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
xchg ebx, eax
xchg ebx, eax
jmp 0x100ea124
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 3
jne 0x100ea0e4
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov ebx, ebx
jmp 0x100ea124
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 4
jne 0x100ea0fe
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
mov dh, dh
jmp 0x100ea124
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0xa
je 0x100ea11a
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0xb
jne 0x100ea124
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
mov bh, bh
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x60], 0
je 0x100ea4ed
push edi
mov ecx, esi
call fcn.100e8e50
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.100e8e50
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov esi, esi
xor ebx, ebx
mov dword [esp + 0xc], ebx
xchg ebx, eax
xchg ebx, eax
lea edx, [esp + 0xc]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.10068430
add esp, 0x18
mov edx, edx
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax + 0x34]
jne 0x100eaaaa
mov dword [esp + 0x1c], ebx
push edx
pop edx
lea edx, [esp + 0x1c]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.10068510
add esp, 0x18
mov bl, bl
jmp 0x100ea4ed
mov edx, edx
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0x16
jne 0x100ea220
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov ah, ah
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x60], 0
je 0x100ea4ed
push edi
mov ecx, esi
call fcn.100e8e50
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.100e8e50
mov edx, dword [esp + 0x70]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
push ecx
pop ecx
mov dword [esp + 0x14], 0
push ebx
pop ebx
lea eax, [esp + 0x14]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov edx, dword [eax + 0x6c]
mov eax, dword [eax + 0x68]
push edx
push eax
push ebp
call fcn.10068430
add esp, 0x18
nop
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0x34]
jne 0x100eaaaa
mov dword [esp + 0x20], 0
mov ebp, ebp
lea edx, [esp + 0x20]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.10068510
add esp, 0x18
push ebx
pop ebx
jmp 0x100ea4ed
call fcn.100e8e50
cmp dword [eax + 0x30], ebx
jne 0x100ea3d0
mov dword [esp + 0x10], 0
mov bh, bh
mov ecx, ecx
push ebp
call fcn.1004c7f0
add esp, 4
xchg ebx, eax
xchg ebx, eax
test eax, eax
je 0x100ea4ed
lea ebx, [eax + 0x2c]
lea eax, [esp + 0x10]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x4c
push eax
push 0
push ebx
push ebp
call fcn.10068430
add esp, 0x18
test eax, eax
je 0x100ea4ed
mov dword [esp + 0x18], 0
nop
push edi
mov ecx, esi
call fcn.100e8e50
mov dword [eax + 0x60], 1
push edx
pop edx
mov eax, ebx
cdq
push edi
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x94], edx
call fcn.100e8e50
mov edx, dword [esp + 0x90]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
xchg ebx, eax
xchg ebx, eax
lea eax, [esp + 0x18]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100e8e50
mov edx, dword [esp + 0x98]
add eax, 0x38
push eax
push edx
push ebx
push ebp
call fcn.10068510
add esp, 0x18
xchg ebx, eax
xchg ebx, eax
jmp 0x100ea4ed
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0xc8
jne 0x100ea4ed
mov dword [esp + 0x10], 0
mov ebp, ebp
mov ebp, ebp
push ebp
call fcn.1004c7f0
add esp, 4
mov ebx, eax
mov edi, edi
test ebx, ebx
je 0x100ea4ed
mov esi, esi
lea eax, [esp + 0x10]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x34]
push ecx
lea edx, [esp + 0xe0]
push edx
push 0
add ebx, 0x2c
push ebx
push ebp
call fcn.10068430
add esp, 0x18
test eax, eax
je 0x100ea4ed
mov ebx, dword [esp + 0xd8]
mov eax, eax
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x74]
lea ebx, [ebx + eax*4]
mov esi, esi
lea ecx, [esp + 0x10]
push ecx
push edi
mov ecx, esi
call fcn.100e8e50
mov edx, dword [eax + 0x34]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x4c
push eax
push 0
push ebx
push ebp
call fcn.10068430
add esp, 0x18
test eax, eax
je 0x100ea4ed
mov dword [esp + 0x24], 0
mov ch, ch
push edi
mov ecx, esi
call fcn.100e8e50
mov dword [eax + 0x60], 1
mov ah, ah
mov eax, ebx
cdq
push edi
mov ecx, esi
mov ebx, eax
mov dword [esp + 0x8c], edx
call fcn.100e8e50
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov edi, edi
lea edx, [esp + 0x24]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [esp + 0x90]
add eax, 0x38
push eax
push ecx
push ebx
push ebp
call fcn.10068510
add esp, 0x18
mov esi, esi
add dword [esp + 0x34], 0x78
mov ecx, esi
add edi, 1
call fcn.100e8e20
cmp edi, eax
jb 0x100ea027
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.10117937
add esp, 0xe4
ret
lea edx, [esp + 0xd0]
push edx
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
nop
push 0
push 0
lea eax, [esp + 0xc0]
push eax
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
mov cl, cl
push 0
push 0
lea ecx, [esp + 0x9c]
push ecx
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov ecx, ecx
push 0
push 0
lea edx, [esp + 0xb4]
push edx
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
push ebx
pop ebx
push 0
push 0
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
nop
test edi, edi
je 0x100eaaaa
test ebx, ebx
je 0x100eaaaa
mov ecx, dword [esp + 0x54]
or ecx, dword [esp + 0x58]
jne 0x100ea5ed
push ecx
push ecx
lea edx, [esp + 0x9c]
push edx
push edi
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov bh, bh
mov eax, dword [esp + 0x5c]
or eax, dword [esp + 0x60]
jne 0x100ea614
push eax
push eax
lea ecx, [esp + 0xc0]
push ecx
push edi
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
mov eax, eax
mov edx, dword [esp + 0x4c]
or edx, dword [esp + 0x50]
jne 0x100ea63b
push edx
push edx
lea eax, [esp + 0xd0]
push eax
push edi
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov edx, edx
mov ecx, dword [esp + 0x44]
or ecx, dword [esp + 0x48]
jne 0x100ea662
push ecx
push ecx
lea edx, [esp + 0xb4]
push edx
push edi
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov dh, dh
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x100ea689
push eax
push eax
lea ecx, [esp + 0xa8]
push ecx
push ebx
call fcn.1004d340
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov bh, bh
mov edx, dword [esp + 0x5c]
or edx, dword [esp + 0x60]
je 0x100eaaaa
mov eax, dword [esp + 0x54]
or eax, dword [esp + 0x58]
je 0x100eaaaa
mov dh, dh
mov ecx, esi
xor edi, edi
call fcn.100e8e20
test eax, eax
jbe 0x100eaa8d
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0x64
jae 0x100ea885
mov al, al
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0
jne 0x100ea6f1
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov bh, bh
jmp 0x100ea7a9
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 1
jne 0x100ea716
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
push ebx
pop ebx
jmp 0x100ea7a9
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 2
jne 0x100ea738
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
push eax
pop eax
jmp 0x100ea7a9
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 3
jne 0x100ea75a
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
push eax
pop eax
jmp 0x100ea7a9
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 4
jne 0x100ea77b
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
nop
jmp 0x100ea7a9
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0xa
je 0x100ea797
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0xb
jne 0x100ea7a9
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
mov dl, dl
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x60], 0
je 0x100eaa7b
push edi
mov ecx, esi
call fcn.100e8e50
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.100e8e50
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov ebp, ebp
mov dword [esp + 0x14], 0
mov ch, ch
lea edx, [esp + 0x14]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.10068430
add esp, 0x18
nop
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0x34]
jne 0x100eaaaa
mov dword [esp + 0x20], 0
push ebx
pop ebx
lea edx, [esp + 0x20]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.10068510
add esp, 0x18
mov edx, edx
jmp 0x100eaa7b
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0x65
jne 0x100ea95f
push ebx
pop ebx
mov eax, eax
lea eax, [esp + 0x2c]
push eax
push ebp
call fcn.1004da00
add esp, 8
mov bl, bl
or eax, edx
je 0x100eaa7b
mov dword [esp + 0xc], 0
push ebx
pop ebx
lea ecx, [esp + 0xc]
push ecx
push edi
mov ecx, esi
call fcn.100e8e50
mov edx, dword [eax + 0x34]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [esp + 0x34]
add eax, 0x4c
push eax
mov eax, dword [esp + 0x3c]
push eax
push ecx
push ebp
call fcn.10068430
add esp, 0x18
test eax, eax
je 0x100eaa7b
mov dword [esp + 0x1c], 0
mov bl, bl
push edi
mov ecx, esi
call fcn.100e8e50
mov dword [eax + 0x60], 1
mov edx, edx
push edi
mov ecx, esi
call fcn.100e8e50
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x68], edx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x6c], ecx
mov edi, edi
lea edx, [esp + 0x1c]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add eax, 0x38
push eax
push ecx
push edx
push ebp
call fcn.10068510
add esp, 0x18
xchg ebx, eax
xchg ebx, eax
jmp 0x100eaa7b
push edi
mov ecx, esi
call fcn.100e8e50
cmp dword [eax + 0x30], 0xc9
jne 0x100eaa7b
mov ebx, ebx
push ebx
pop ebx
lea eax, [esp + 0x34]
push eax
push ebp
call fcn.1004da00
mov ebx, eax
add esp, 8
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], edx
mov eax, eax
mov ecx, ebx
or ecx, edx
je 0x100eaa7b
mov dword [esp + 0xc], 0
mov edx, edx
lea edx, [esp + 0xc]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100e8e50
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.10068430
add esp, 0x18
test eax, eax
je 0x100eaa7b
mov dword [esp + 0x18], 0
mov ebx, ebx
push edi
mov ecx, esi
call fcn.100e8e50
mov dword [eax + 0x60], 1
mov ch, ch
push edi
mov ecx, esi
call fcn.100e8e50
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.100e8e50
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov edi, edi
lea edx, [esp + 0x18]
push edx
push edi
mov ecx, esi
call fcn.100e8e50
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100e8e50
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100e8e50
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.10068510
add esp, 0x18
mov eax, eax
mov ecx, esi
add edi, 1
call fcn.100e8e20
cmp edi, eax
jb 0x100ea6b8
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.10117937
add esp, 0xe4
ret
mov ecx, dword [esp + 0xec]
pop edi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.10117937
add esp, 0xe4
ret