Function at 0x10106abe
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x118
mov edi, dword [esp + 0x15c]
mov esi, dword [esp + 0x158]
mov ebp, dword [esp + 0x154]
mov ebx, ecx
push edi
push esi
push 0
push ebp
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
call fcn.101098e6
cmp esi, 4
je 0x10107a31
mov edx, dword [ebx + 4]
mov ecx, 0x7000
lea eax, [ebx + 4]
mov dword [esp], eax
and ecx, dword [edx + 8]
cmp ecx, 0x2000
jne 0x10107415
xor edx, edx
lea eax, [esp + 0x14]
mov ecx, ebx
inc edx
push edi
push esi
push edx
push ebp
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
mov esi, dword [esp + 0x160]
push esi
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push dword [esp + 0x160]
push eax
call fcn.101098e6
lea edi, [esp + 0xc]
mov ecx, edi
push 0x47800000
call fcn.1003fce8
call fcn.100410ba
xor ebp, ebp
push ebp
push ebp
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 8]
push eax
push esi
push ecx
call fcn.10041439
add esp, 0xc
lea edi, [esp + 0xc]
mov ecx, edi
push esi
call fcn.100422c8
call fcn.10041e42
push ebp
push ebp
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 8]
mov ecx, edi
push ebp
push eax
call fcn.1003e992
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
xor ecx, ecx
lea esi, [esp + 0xf4]
inc ecx
push ecx
push eax
push esi
call fcn.1003d2a9
add esp, 0xc
lea ecx, [esp + 0xc]
push dword [esi]
call fcn.1003de44
mov eax, dword [ebx + 4]
movzx eax, byte [eax + 4]
push ebp
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x10106c9b
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 0x14]
mov edi, eax
lea esi, [esp + 0xec]
push ebp
push esi
call fcn.100e25e5
add esp, 8
lea ebx, [esp + 0xf0]
push edi
push dword [esi]
push ebx
call fcn.1003f2dd
add esp, 0xc
lea eax, [esp + 4]
mov ecx, ebp
push dword [ebx]
push eax
call fcn.1003dfa0
jmp 0x10106ce7
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
call fcn.1003ddac
lea ebx, [esp + 0x14]
push ebp
push ebp
push eax
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xe8]
push edi
push eax
push esi
call fcn.1003e5f0
add esp, 0xc
lea eax, [esp + 4]
mov ecx, ebx
push dword [esi]
push eax
call fcn.1003defe
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 1
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x10106d50
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x18]
mov edi, eax
lea esi, [esp + 0xe0]
push ebx
push esi
call fcn.100e25e5
add esp, 8
lea ebp, [esp + 0xe4]
push edi
push dword [esi]
push ebp
call fcn.1003f2dd
add esp, 0xc
lea eax, [esp + 4]
mov ecx, ebx
push dword [ebp]
push eax
call fcn.1003dfa0
jmp 0x10106d9e
call fcn.1003ddac
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea ebx, [esp + 0x18]
call fcn.1003ddac
push esi
push esi
push eax
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xdc]
push edi
push eax
push esi
call fcn.1003e5f0
add esp, 0xc
lea eax, [esp + 4]
mov ecx, ebx
push dword [esi]
push eax
call fcn.1003defe
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 2
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x10106e07
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x1c]
mov edi, eax
lea esi, [esp + 0xd4]
push ebx
push esi
call fcn.100e25e5
add esp, 8
lea ebp, [esp + 0xd8]
push edi
push dword [esi]
push ebp
call fcn.1003f2dd
add esp, 0xc
lea eax, [esp + 4]
mov ecx, ebx
push dword [ebp]
push eax
call fcn.1003dfa0
jmp 0x10106e55
call fcn.1003ddac
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea ebx, [esp + 0x1c]
call fcn.1003ddac
push esi
push esi
push eax
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xd0]
push edi
push eax
push esi
call fcn.1003e5f0
add esp, 0xc
lea eax, [esp + 4]
mov ecx, ebx
push dword [esi]
push eax
call fcn.1003defe
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 3
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x10106ebe
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x20]
mov edi, eax
lea esi, [esp + 0xc8]
push ebx
push esi
call fcn.100e25e5
add esp, 8
lea ebp, [esp + 0xcc]
push edi
push dword [esi]
push ebp
call fcn.1003f2dd
add esp, 0xc
lea eax, [esp + 4]
mov ecx, ebx
push dword [ebp]
push eax
call fcn.1003dfa0
jmp 0x10106f0c
call fcn.1003ddac
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea ebx, [esp + 0x20]
call fcn.1003ddac
push esi
push esi
push eax
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xc4]
push edi
push eax
push esi
call fcn.1003e5f0
add esp, 0xc
lea eax, [esp + 4]
mov ecx, ebx
push dword [esi]
push eax
call fcn.1003defe
call fcn.1003ddac
xor ebx, ebx
lea edi, [esp + 8]
push ebx
push ebx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xc0]
push eax
push esi
call fcn.1003c781
add esp, 8
lea eax, [esp + 4]
mov ecx, edi
push dword [esi]
push eax
call fcn.1003defe
call fcn.1003ddac
lea ebp, [esp + 0xc]
push ebx
push ebx
push eax
push dword [ebp]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 4]
mov edi, eax
mov ecx, esi
push 0x7fff
call fcn.1003d206
call fcn.1003ddac
push ebx
push ebx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xbc]
push edi
push eax
push esi
call fcn.1003cc42
add esp, 0xc
lea eax, [esp + 0xb8]
mov ecx, ebp
push dword [esi]
push eax
call fcn.1003defe
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push ebx
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x1010700b
call fcn.1003ddac
push ebx
push ebx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
mov ebp, dword [esp + 0x12c]
mov edi, eax
lea esi, [esp + 0xb0]
push ebp
push esi
call fcn.100e25e5
add esp, 8
lea ebx, [esp + 0xb4]
push edi
push dword [esi]
push ebx
call fcn.1003f2dd
add esp, 0xc
mov ecx, ebp
push dword [ebx]
mov ebx, ebp
lea eax, [esp + 8]
push eax
call fcn.1003dfa0
jmp 0x1010705a
call fcn.1003ddac
push ebx
push ebx
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
call fcn.1003ddac
push ebx
push ebx
push eax
mov ebx, dword [esp + 0x138]
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xac]
push edi
push eax
push esi
call fcn.1003e5f0
add esp, 0xc
mov ecx, ebx
push dword [esi]
lea eax, [esp + 8]
push eax
call fcn.1003defe
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 1
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x101070c8
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ebp, [ebx + 4]
mov edi, eax
lea esi, [esp + 0xa4]
push ebp
push esi
call fcn.100e25e5
add esp, 8
lea ebx, [esp + 0xa8]
push edi
push dword [esi]
push ebx
call fcn.1003f2dd
add esp, 0xc
mov ecx, ebp
push dword [ebx]
mov ebx, dword [esp + 0x130]
lea eax, [esp + 8]
push eax
call fcn.1003dfa0
jmp 0x10107116
call fcn.1003ddac
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea ebp, [ebx + 4]
call fcn.1003ddac
push esi
push esi
push eax
push dword [ebx + 4]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xa0]
push edi
push eax
push esi
call fcn.1003e5f0
add esp, 0xc
mov ecx, ebp
push dword [esi]
lea eax, [esp + 8]
push eax
call fcn.1003defe
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 2
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x10107184
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ebp, [ebx + 8]
mov edi, eax
lea esi, [esp + 0x98]
push ebp
push esi
call fcn.100e25e5
add esp, 8
lea ebx, [esp + 0x9c]
push edi
push dword [esi]
push ebx
call fcn.1003f2dd
add esp, 0xc
mov ecx, ebp
push dword [ebx]
mov ebx, dword [esp + 0x130]
lea eax, [esp + 8]
push eax
call fcn.1003dfa0
jmp 0x101071d2
call fcn.1003ddac
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea ebp, [ebx + 8]
call fcn.1003ddac
push esi
push esi
push eax
push dword [ebx + 8]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x94]
push edi
push eax
push esi
call fcn.1003e5f0
add esp, 0xc
mov ecx, ebp
push dword [esi]
lea eax, [esp + 8]
push eax
call fcn.1003defe
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 3
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x10107244
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x14]
call fcn.1003be3a
add esp, 0x10
lea ebp, [ebx + 0xc]
mov edi, eax
lea esi, [esp + 0x8c]
push ebp
push esi
call fcn.100e25e5
add esp, 8
lea ebx, [esp + 0x90]
push edi
push dword [esi]
push ebx
call fcn.1003f2dd
add esp, 0xc
mov dword [esp + 0x24], ebp
mov ecx, ebp
push dword [ebx]
mov ebx, dword [esp + 0x130]
lea ebp, [esp + 8]
push ebp
call fcn.1003dfa0
jmp 0x10107296
call fcn.1003ddac
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea ebp, [ebx + 0xc]
call fcn.1003ddac
push esi
push esi
push eax
push dword [ebx + 0xc]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x88]
push edi
push eax
push esi
call fcn.1003e5f0
add esp, 0xc
mov dword [esp + 0x24], ebp
mov ecx, ebp
push dword [esi]
lea ebp, [esp + 8]
push ebp
call fcn.1003defe
call fcn.1003ddac
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
push eax
push ebx
push ebp
call fcn.1003e011
add esp, 0xc
call fcn.1003ddac
push esi
push esi
push eax
push dword [esp + 0x24]
call fcn.1003be3a
add esp, 0x10
mov edi, ebx
lea ebx, [ebx + 4]
push eax
push ebx
push ebp
call fcn.1003e011
add esp, 0xc
call fcn.1003ddac
push esi
push esi
push eax
push dword [esp + 0x28]
call fcn.1003be3a
add esp, 0x10
lea edi, [edi + 8]
push eax
push edi
push ebp
call fcn.1003e011
add esp, 0xc
call fcn.1003ddac
push esi
push esi
push eax
push dword [esp + 0x2c]
call fcn.1003be3a
add esp, 0x10
push eax
push dword [esp + 0x28]
push ebp
call fcn.1003e011
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push esi
push eax
call fcn.100cea38
add esp, 8
test al, al
jne 0x10107360
call fcn.1003ddac
push esi
push esi
push eax
mov eax, dword [esp + 0x138]
mov esi, eax
push dword [eax]
call fcn.1003be3a
add esp, 0x10
push eax
push esi
lea eax, [esp + 0xc]
push eax
call fcn.1003e011
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 1
push eax
call fcn.100cea38
add esp, 8
test al, al
lea esi, [esp + 4]
jne 0x1010739b
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
push eax
push ebx
push esi
call fcn.1003e011
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 2
push eax
call fcn.100cea38
add esp, 8
test al, al
jne 0x101073d2
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
push eax
push edi
push esi
call fcn.1003e011
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 3
push eax
call fcn.100cea38
add esp, 8
mov edi, dword [esp + 0x24]
test al, al
jne 0x10107415
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
mov eax, dword [esp + 0x138]
push dword [eax + 0xc]
call fcn.1003be3a
add esp, 0x10
push eax
push edi
push esi
call fcn.1003e011
add esp, 0xc
call fcn.1003ddac
push 0
push eax
call fcn.1003b692
add esp, 8
mov dword [esp + 0x14], eax
mov eax, dword [esp]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, ecx
and edx, 0x38
cmp edx, 0x20
jne 0x10107475
call fcn.1003ddac
push 0
push eax
call fcn.1003b692
add esp, 8
lea esi, [esp + 0xc]
mov dword [esi], eax
push dword [esp + 0x134]
push esi
call fcn.101093ac
lea eax, [esp + 8]
lea ecx, [esp + 0x14]
push esi
push eax
call fcn.1003df26
mov eax, dword [esp]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, ecx
and edx, 0x1c0
cmp edx, 0x100
jne 0x101074fa
call fcn.1003ddac
push 0
push eax
call fcn.1003b692
add esp, 8
lea esi, [esp + 0xc]
mov dword [esi], eax
push dword [esp + 0x138]
push esi
call fcn.101093ac
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax + 8]
and eax, 0x38
cmp eax, 0x20
jne 0x101074e3
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 8]
push eax
push ecx
push edx
call fcn.1003e059
add esp, 0xc
jmp 0x101074f2
lea eax, [esp + 8]
lea ecx, [esp + 0x14]
push esi
push eax
call fcn.1003df26
mov eax, dword [esp]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, ecx
and edx, 0xe00
cmp edx, 0x800
jne 0x1010759f
mov edx, dword [eax]
and edx, 7
cmp edx, 4
jne 0x1010759f
call fcn.1003ddac
push 0
push eax
call fcn.1003b692
add esp, 8
lea esi, [esp + 0xc]
mov dword [esi], eax
push dword [esp + 0x13c]
push esi
call fcn.101093ac
mov eax, dword [esp]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov ecx, eax
and ecx, 0x38
cmp ecx, 0x20
je 0x1010756e
and eax, 0x1c0
cmp eax, 0x100
je 0x1010756e
lea eax, [esp + 8]
lea ecx, [esp + 0x14]
push esi
push eax
call fcn.1003df26
jmp 0x10107597
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x18]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 8]
push eax
push ecx
push edx
call fcn.1003e059
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, ecx
and edx, 0x38
cmp edx, 0x20
je 0x101075d9
mov edx, ecx
and edx, 0x1c0
cmp edx, 0x100
je 0x101075d9
and ecx, 0xe00
cmp ecx, 0x800
jne 0x10107a31
mov eax, dword [eax]
and eax, 7
cmp eax, 4
jne 0x10107a31
call fcn.1003ddac
xor ebp, ebp
push ebp
push eax
call fcn.1003b692
add esp, 8
mov eax, dword [esp + 0x130]
mov ecx, eax
call fcn.100b1880
lea esi, [esp + 0x7c]
push 0x9f0
push eax
push esi
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea edi, [esp + 0x110]
inc eax
mov ecx, edi
push eax
push dword [esi]
call fcn.100bb686
mov esi, dword [edi + 4]
mov ecx, edi
call fcn.100b19e4
mov edi, eax
call fcn.1003ddac
push esi
push ebp
push eax
push edi
call fcn.1003be3a
add esp, 0x10
mov edi, eax
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push ebp
push eax
call fcn.100cea38
add esp, 8
xor al, 1
lea ebx, [esp + 0x80]
movzx eax, al
push eax
push edi
push ebx
call fcn.1003d277
add esp, 0xc
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x78]
push eax
push edi
call fcn.1003c781
add esp, 8
lea eax, [esp + 0x30]
push dword [ebx]
push dword [edi]
push eax
call fcn.1003c798
add esp, 0xc
call fcn.1003ddac
push ebp
push ebp
push eax
mov esi, dword [esp + 0x138]
push dword [esi]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x74]
push edi
push eax
push ebx
call fcn.1003c798
add esp, 0xc
lea eax, [esp + 0x30]
lea edi, [esp + 0x84]
push dword [eax]
push dword [ebx]
push edi
call fcn.1003c7b8
add esp, 0xc
lea eax, [esp + 0xc]
mov ecx, esi
push dword [edi]
push eax
call fcn.1003defe
mov ecx, dword [esp + 0x130]
call fcn.100b1880
lea esi, [esp + 0x68]
push 0x9f8
push eax
push esi
call fcn.10042ef9
add esp, 0xc
xor ebx, ebx
lea edi, [esp + 0x108]
inc ebx
mov ecx, edi
push ebx
push dword [esi]
call fcn.100bb686
mov esi, dword [edi + 4]
mov ecx, edi
call fcn.100b19e4
mov edi, eax
call fcn.1003ddac
push esi
push ebp
push eax
push edi
call fcn.1003be3a
add esp, 0x10
mov edi, eax
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push ebx
push eax
call fcn.100cea38
add esp, 8
xor al, 1
lea ebx, [esp + 0x6c]
movzx eax, al
push eax
push edi
push ebx
call fcn.1003d277
add esp, 0xc
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x64]
push eax
push edi
call fcn.1003c781
add esp, 8
lea eax, [esp + 0x2c]
push dword [ebx]
push dword [edi]
push eax
call fcn.1003c798
add esp, 0xc
mov esi, dword [esp + 0x12c]
lea ebx, [esi + 4]
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esi + 4]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x60]
push edi
push eax
push esi
call fcn.1003c798
add esp, 0xc
lea eax, [esp + 0x2c]
lea edi, [esp + 0x70]
push dword [eax]
push dword [esi]
push edi
call fcn.1003c7b8
add esp, 0xc
mov ecx, ebx
push dword [edi]
lea eax, [esp + 0x10]
push eax
call fcn.1003defe
mov ecx, dword [esp + 0x130]
call fcn.100b1880
lea esi, [esp + 0x54]
push 0xa00
push eax
push esi
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea edi, [esp + 0x100]
inc eax
mov ecx, edi
push eax
push dword [esi]
call fcn.100bb686
mov esi, dword [edi + 4]
mov ecx, edi
call fcn.100b19e4
mov edi, eax
call fcn.1003ddac
push esi
push ebp
push eax
push edi
call fcn.1003be3a
add esp, 0x10
mov edi, eax
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 2
push eax
call fcn.100cea38
add esp, 8
xor al, 1
lea ebx, [esp + 0x58]
movzx eax, al
push eax
push edi
push ebx
call fcn.1003d277
add esp, 0xc
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x50]
push eax
push edi
call fcn.1003c781
add esp, 8
lea eax, [esp + 0x28]
push dword [ebx]
push dword [edi]
push eax
call fcn.1003c798
add esp, 0xc
mov esi, dword [esp + 0x12c]
lea ebx, [esi + 8]
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esi + 8]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x4c]
push edi
push eax
push esi
call fcn.1003c798
add esp, 0xc
lea eax, [esp + 0x28]
lea edi, [esp + 0x5c]
push dword [eax]
push dword [esi]
push edi
call fcn.1003c7b8
add esp, 0xc
mov ecx, ebx
push dword [edi]
lea eax, [esp + 0x10]
push eax
call fcn.1003defe
mov ecx, dword [esp + 0x130]
call fcn.100b1880
lea esi, [esp + 0x3c]
push 0xa08
push eax
push esi
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea edi, [esp + 0xf8]
inc eax
mov ecx, edi
push eax
push dword [esi]
call fcn.100bb686
mov esi, dword [edi + 4]
mov ecx, edi
call fcn.100b19e4
mov edi, eax
call fcn.1003ddac
push esi
push ebp
push eax
push edi
call fcn.1003be3a
add esp, 0x10
mov edi, eax
mov eax, dword [esp]
mov eax, dword [eax]
movzx eax, byte [eax + 4]
push 3
push eax
call fcn.100cea38
add esp, 8
xor al, 1
lea ebx, [esp + 0x40]
movzx eax, al
push eax
push edi
push ebx
call fcn.1003d277
add esp, 0xc
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x38]
push eax
push edi
call fcn.1003c781
add esp, 8
lea esi, [esp + 0x44]
push dword [ebx]
push dword [edi]
push esi
call fcn.1003c798
add esp, 0xc
call fcn.1003ddac
push ebp
push ebp
push eax
mov eax, dword [esp + 0x138]
push dword [eax + 0xc]
lea edi, [eax + 0xc]
call fcn.1003be3a
add esp, 0x10
mov ebx, eax
call fcn.1003ddac
push ebp
push ebp
push eax
push dword [esp + 0x20]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 0x34]
push ebx
push eax
push ebp
call fcn.1003c798
add esp, 0xc
lea ebx, [esp + 0x48]
push dword [esi]
push dword [ebp]
push ebx
call fcn.1003c7b8
add esp, 0xc
mov ecx, edi
push dword [ebx]
lea eax, [esp + 0x10]
push eax
call fcn.1003defe
mov eax, dword [esp + 0x12c]
add esp, 0x118
pop esi
pop edi
pop ebx
pop ebp
ret 0x34