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

Disassembly:
sub esp, 0xe4
mov eax, dword [0x101c52b4]
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
mov edi, edi
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 bh, bh
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
nop
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
mov ch, ch
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 edi, edi
xor ebx, ebx
mov cl, cl
xor edi, edi
push ebx
pop ebx
call fcn.10057030
test eax, eax
je 0x100dc421
call fcn.100da770
mov edi, eax
mov ch, ch
call fcn.100da690
mov ebx, eax
mov dl, dl
cmp dword [esp + 0xf8], 0
push 0
push 0
jne 0x100dca93
lea eax, [esp + 0xd0]
push eax
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x5c], eax
mov cl, cl
push 0
push 0
lea ecx, [esp + 0xc0]
push ecx
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x44], eax
push ecx
pop ecx
push 0
push 0
lea edx, [esp + 0x9c]
push edx
push ebp
call fcn.1003dca0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x2c], ebx
mov bh, bh
push 0
push 0
lea eax, [esp + 0xb4]
push eax
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x54], eax
push ecx
pop ecx
push 0
push 0
lea ecx, [esp + 0xa8]
push ecx
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x3c], eax
mov edx, edx
test ebx, ebx
jne 0x100dc4d2
lea edx, [esp + 0x94]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov ebx, eax
mov dword [esp + 0x2c], eax
mov eax, eax
cmp dword [esp + 0x44], 0
jne 0x100dc4ed
lea eax, [esp + 0xb8]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x44], eax
mov edx, edx
cmp dword [esp + 0x5c], 0
jne 0x100dc508
lea ecx, [esp + 0xc8]
push ecx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x5c], eax
push ecx
pop ecx
cmp dword [esp + 0x54], 0
jne 0x100dc523
lea edx, [esp + 0xac]
push edx
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x54], eax
mov bh, bh
cmp dword [esp + 0x3c], 0
jne 0x100dc53e
lea eax, [esp + 0xa0]
push eax
call dword [sym.imp.KERNEL32.DLL_GetModuleHandleA]
mov dword [esp + 0x3c], eax
mov ebx, ebx
cmp dword [esp + 0x44], 0
je 0x100dd024
test ebx, ebx
je 0x100dd024
xor ebx, ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
nop
call fcn.10057030
test eax, eax
je 0x100dc581
push ebx
push ebx
lea ecx, [esp + 0x9c]
push ecx
push edi
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
nop
mov ch, ch
mov ecx, esi
xor edi, edi
call fcn.100db380
test eax, eax
jbe 0x100dd007
mov dword [esp + 0x34], edi
mov eax, dword [esi + 4]
test eax, eax
je 0x100dc5bb
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 0x100dc5c0
call fcn.10110295
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 0x100dc86d
call fcn.100db3b0
cmp dword [eax + 0x30], 0x14
jae 0x100dc76e
push edx
pop edx
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0
jne 0x100dc607
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x4c], ecx
mov esi, esi
jmp 0x100dc695
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 1
jne 0x100dc621
mov edx, dword [esp + 0x44]
mov dword [esp + 0x4c], edx
mov edi, edi
jmp 0x100dc695
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 2
jne 0x100dc63b
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x4c], eax
mov bl, bl
jmp 0x100dc695
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 3
jne 0x100dc655
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x4c], ecx
push ecx
pop ecx
jmp 0x100dc695
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 4
jne 0x100dc66f
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x4c], edx
mov ebx, ebx
jmp 0x100dc695
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0xa
je 0x100dc68b
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0xb
jne 0x100dc695
mov eax, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
mov dh, dh
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x60], 0
je 0x100dca5f
push edi
mov ecx, esi
call fcn.100db3b0
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.100db3b0
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
nop
xor ebx, ebx
mov dword [esp + 0xc], ebx
push ecx
pop ecx
lea edx, [esp + 0xc]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.100591f0
add esp, 0x18
mov ah, ah
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [esp + 0xc]
cmp ecx, dword [eax + 0x34]
jne 0x100dd024
mov dword [esp + 0x1c], ebx
mov esi, esi
lea edx, [esp + 0x1c]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.100592d0
add esp, 0x18
push ebx
pop ebx
jmp 0x100dca5f
mov ebp, ebp
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0x16
jne 0x100dc790
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov edx, edx
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x60], 0
je 0x100dca5f
push edi
mov ecx, esi
call fcn.100db3b0
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.100db3b0
mov edx, dword [esp + 0x70]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
mov ebx, ebx
mov dword [esp + 0x14], 0
mov dl, dl
lea eax, [esp + 0x14]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov edx, dword [eax + 0x6c]
mov eax, dword [eax + 0x68]
push edx
push eax
push ebp
call fcn.100591f0
add esp, 0x18
mov ecx, ecx
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0x34]
jne 0x100dd024
mov dword [esp + 0x20], 0
mov esi, esi
lea edx, [esp + 0x20]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.100592d0
add esp, 0x18
xchg ebx, eax
xchg ebx, eax
jmp 0x100dca5f
call fcn.100db3b0
cmp dword [eax + 0x30], ebx
jne 0x100dc942
mov dword [esp + 0x10], 0
mov ah, ah
mov cl, cl
push ebp
call fcn.1003d140
add esp, 4
mov eax, eax
test eax, eax
je 0x100dca5f
lea ebx, [eax + 0x2c]
lea eax, [esp + 0x10]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x4c
push eax
push 0
push ebx
push ebp
call fcn.100591f0
add esp, 0x18
test eax, eax
je 0x100dca5f
mov dword [esp + 0x18], 0
mov ecx, ecx
push edi
mov ecx, esi
call fcn.100db3b0
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.100db3b0
mov edx, dword [esp + 0x90]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], edx
mov dl, dl
lea eax, [esp + 0x18]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x34]
push ecx
push edi
mov ecx, esi
call fcn.100db3b0
mov edx, dword [esp + 0x98]
add eax, 0x38
push eax
push edx
push ebx
push ebp
call fcn.100592d0
add esp, 0x18
mov cl, cl
jmp 0x100dca5f
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0xc8
jne 0x100dca5f
mov dword [esp + 0x10], 0
push ebx
pop ebx
push eax
pop eax
push ebp
call fcn.1003d140
add esp, 4
mov ebx, eax
mov bl, bl
test ebx, ebx
je 0x100dca5f
mov ebx, ebx
lea eax, [esp + 0x10]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x34]
push ecx
lea edx, [esp + 0xe0]
push edx
push 0
add ebx, 0x2c
push ebx
push ebp
call fcn.100591f0
add esp, 0x18
test eax, eax
je 0x100dca5f
mov ebx, dword [esp + 0xd8]
push eax
pop eax
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x74]
lea ebx, [ebx + eax*4]
mov edx, edx
lea ecx, [esp + 0x10]
push ecx
push edi
mov ecx, esi
call fcn.100db3b0
mov edx, dword [eax + 0x34]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x4c
push eax
push 0
push ebx
push ebp
call fcn.100591f0
add esp, 0x18
test eax, eax
je 0x100dca5f
mov dword [esp + 0x24], 0
mov ebp, ebp
push edi
mov ecx, esi
call fcn.100db3b0
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.100db3b0
mov ecx, dword [esp + 0x88]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov eax, eax
lea edx, [esp + 0x24]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [esp + 0x90]
add eax, 0x38
push eax
push ecx
push ebx
push ebp
call fcn.100592d0
add esp, 0x18
mov edi, edi
add dword [esp + 0x34], 0x78
mov ecx, esi
add edi, 1
call fcn.100db380
cmp edi, eax
jb 0x100dc598
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.1010e4d7
add esp, 0xe4
ret
lea edx, [esp + 0xd0]
push edx
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
push eax
pop eax
push 0
push 0
lea eax, [esp + 0xc0]
push eax
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
push edx
pop edx
push 0
push 0
lea ecx, [esp + 0x9c]
push ecx
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
mov edi, edi
push 0
push 0
lea edx, [esp + 0xb4]
push edx
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov bh, bh
push 0
push 0
lea eax, [esp + 0xa8]
push eax
push ebp
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
push eax
pop eax
test edi, edi
je 0x100dd024
test ebx, ebx
je 0x100dd024
mov ecx, dword [esp + 0x54]
or ecx, dword [esp + 0x58]
jne 0x100dcb61
push ecx
push ecx
lea edx, [esp + 0x9c]
push edx
push edi
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], edx
push ebx
pop ebx
mov eax, dword [esp + 0x5c]
or eax, dword [esp + 0x60]
jne 0x100dcb88
push eax
push eax
lea ecx, [esp + 0xc0]
push ecx
push edi
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
mov ch, ch
mov edx, dword [esp + 0x4c]
or edx, dword [esp + 0x50]
jne 0x100dcbaf
push edx
push edx
lea eax, [esp + 0xd0]
push eax
push edi
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov cl, cl
mov ecx, dword [esp + 0x44]
or ecx, dword [esp + 0x48]
jne 0x100dcbd6
push ecx
push ecx
lea edx, [esp + 0xb4]
push edx
push edi
call fcn.1003dca0
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 0x100dcbfd
push eax
push eax
lea ecx, [esp + 0xa8]
push ecx
push ebx
call fcn.1003dca0
add esp, 0x10
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
mov ch, ch
mov edx, dword [esp + 0x5c]
or edx, dword [esp + 0x60]
je 0x100dd024
mov eax, dword [esp + 0x54]
or eax, dword [esp + 0x58]
je 0x100dd024
mov dh, dh
mov ecx, esi
xor edi, edi
call fcn.100db380
test eax, eax
jbe 0x100dd007
lea esp, [esp]
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0x64
jae 0x100dcdff
mov ch, ch
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0
jne 0x100dcc69
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
push ecx
pop ecx
jmp 0x100dcd22
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 1
jne 0x100dcc8e
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
xchg ebx, eax
xchg ebx, eax
jmp 0x100dcd22
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 2
jne 0x100dccb0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
mov ah, ah
jmp 0x100dcd22
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 3
jne 0x100dccd2
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], edx
mov ebx, ebx
jmp 0x100dcd22
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 4
jne 0x100dccf4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov ah, ah
jmp 0x100dcd22
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0xa
je 0x100dcd10
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0xb
jne 0x100dcd22
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
mov edi, edi
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x60], 0
je 0x100dcff5
push edi
mov ecx, esi
call fcn.100db3b0
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.100db3b0
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
push eax
pop eax
mov dword [esp + 0x14], 0
mov edx, edx
lea edx, [esp + 0x14]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.100591f0
add esp, 0x18
mov eax, eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 0x34]
jne 0x100dd024
mov dword [esp + 0x20], 0
push ebx
pop ebx
lea edx, [esp + 0x20]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.100592d0
add esp, 0x18
mov edi, edi
jmp 0x100dcff5
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0x65
jne 0x100dced9
mov bh, bh
push edx
pop edx
lea eax, [esp + 0x2c]
push eax
push ebp
call fcn.1003e370
add esp, 8
mov bh, bh
or eax, edx
je 0x100dcff5
mov dword [esp + 0xc], 0
mov cl, cl
lea ecx, [esp + 0xc]
push ecx
push edi
mov ecx, esi
call fcn.100db3b0
mov edx, dword [eax + 0x34]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [esp + 0x34]
add eax, 0x4c
push eax
mov eax, dword [esp + 0x3c]
push eax
push ecx
push ebp
call fcn.100591f0
add esp, 0x18
test eax, eax
je 0x100dcff5
mov dword [esp + 0x1c], 0
mov ebp, ebp
push edi
mov ecx, esi
call fcn.100db3b0
mov dword [eax + 0x60], 1
push edx
pop edx
push edi
mov ecx, esi
call fcn.100db3b0
mov edx, dword [esp + 0x2c]
mov dword [eax + 0x68], edx
mov ecx, dword [esp + 0x30]
mov dword [eax + 0x6c], ecx
push eax
pop eax
lea edx, [esp + 0x1c]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
add eax, 0x38
push eax
push ecx
push edx
push ebp
call fcn.100592d0
add esp, 0x18
mov ecx, ecx
jmp 0x100dcff5
push edi
mov ecx, esi
call fcn.100db3b0
cmp dword [eax + 0x30], 0xc9
jne 0x100dcff5
mov cl, cl
mov ecx, ecx
lea eax, [esp + 0x34]
push eax
push ebp
call fcn.1003e370
mov ebx, eax
add esp, 8
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], edx
mov ebp, ebp
mov ecx, ebx
or ecx, edx
je 0x100dcff5
mov dword [esp + 0xc], 0
mov bh, bh
lea edx, [esp + 0xc]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x4c
push eax
push edi
mov ecx, esi
call fcn.100db3b0
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.100591f0
add esp, 0x18
test eax, eax
je 0x100dcff5
mov dword [esp + 0x18], 0
push ecx
pop ecx
push edi
mov ecx, esi
call fcn.100db3b0
mov dword [eax + 0x60], 1
push ebx
pop ebx
push edi
mov ecx, esi
call fcn.100db3b0
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.100db3b0
mov ecx, dword [esp + 0x80]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov esi, esi
lea edx, [esp + 0x18]
push edx
push edi
mov ecx, esi
call fcn.100db3b0
mov eax, dword [eax + 0x34]
push eax
push edi
mov ecx, esi
call fcn.100db3b0
add eax, 0x38
push eax
push edi
mov ecx, esi
call fcn.100db3b0
mov ecx, dword [eax + 0x6c]
mov edx, dword [eax + 0x68]
push ecx
push edx
push ebp
call fcn.100592d0
add esp, 0x18
mov bh, bh
mov ecx, esi
add edi, 1
call fcn.100db380
cmp edi, eax
jb 0x100dcc30
pop edi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.1010e4d7
add esp, 0xe4
ret
mov ecx, dword [esp + 0xec]
pop edi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.1010e4d7
add esp, 0xe4
ret