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

Disassembly:
push esi
cmp dword [esp + 8], 0
mov esi, ecx
je 0x100054d7
push esi
call fcn.10183049
add esp, 4
mov eax, esi
pop esi
ret 4
push ebp
push ebx
push edi
push esi
sub esp, 0x188
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x19c]
mov ebp, dword [esp + 0x1a8]
mov ebx, dword [esp + 0x1a4]
call fcn.10121c36
mov esi, 0xfffffff0
call fcn.1003b794
push 0
push eax
call fcn.1003b692
add esp, 8
mov dword [esp + esi + 0x40], eax
add esi, 4
jne 0x1011325d
sub esp, 0xc
mov edi, dword [esp + 0x24]
lea esi, [esp + 0x3c]
mov ecx, edi
push ebp
push ebx
push dword [esp + 0x1b4]
push esi
call fcn.101153d4
mov eax, dword [edi + 4]
movzx eax, byte [eax + 4]
push eax
call fcn.100cea04
add esp, 4
test al, al
jne 0x101132b5
mov ecx, edi
call fcn.10118918
test al, al
je 0x1011358e
mov eax, dword [edi + 4]
mov esi, 3
mov ecx, dword [eax]
movzx eax, byte [eax + 4]
and ecx, 7
cmp ecx, esi
sete bl
push eax
call fcn.100ceb6e
add esp, 4
dec eax
cmp eax, esi
ja case.default.0x101132f3
xor edx, edx
mov dl, bl
lea ecx, [edx + edx]
lea esi, [edx + edx*2]
mov dword [esp + 8], edx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0xc], esi
jmp dword [eax*4 + 0x101e319c]
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ebp, ebp
push ebp
push ebp
push eax
push dword [esp + 0x3c]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x1b4]
mov ecx, eax
call fcn.100b1880
lea edi, [esp + 0x9c]
push dword [esi]
push eax
push edi
call fcn.10042f27
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x120]
inc eax
mov ecx, esi
push eax
push dword [edi]
call fcn.100a7af6
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1ace
mov esi, eax
call fcn.100410ba
push edi
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, dword [esp + 0x19c]
lea edx, [esp + 0x1c]
lea edi, [ecx + 4]
mov ecx, edi
push eax
push edx
call fcn.100429da
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x40]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0x9c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 8]
lea ecx, [eax + ecx*8]
call fcn.100b1880
lea ebx, [esp + 0x94]
push dword [esi]
push eax
push ebx
call fcn.10042f27
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x118]
inc eax
mov ecx, esi
push eax
push dword [ebx]
call fcn.100a7af6
mov ebx, dword [esi + 4]
mov ecx, esi
call fcn.100b1ace
mov esi, eax
call fcn.100410ba
push ebx
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, edi
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10042a76
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x44]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1b4]
lea ecx, [ecx + eax*8]
call fcn.100b1880
lea ebx, [esp + 0x8c]
push dword [esi]
push eax
push ebx
call fcn.10042f27
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x110]
inc eax
mov ecx, esi
push eax
push dword [ebx]
call fcn.100a7af6
mov ebx, dword [esi + 4]
mov ecx, esi
call fcn.100b1ace
mov esi, eax
call fcn.100410ba
push ebx
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, edi
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10042b14
mov eax, 4
push eax
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
push ebp
push ebp
push eax
push dword [esp + 0x48]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1b4]
lea ecx, [ecx + eax*8]
call fcn.100b1880
lea ebx, [esp + 0x84]
push dword [esi]
push eax
push ebx
call fcn.10042f27
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x108]
inc eax
mov ecx, esi
push eax
push dword [ebx]
call fcn.100a7af6
mov ebx, dword [esi + 4]
mov ecx, esi
call fcn.100b1ace
mov esi, eax
call fcn.100410ba
push ebx
push ebp
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, edi
push eax
lea eax, [esp + 0x20]
push eax
call fcn.10042bb2
jmp case.default.0x101132f3
lea eax, [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x1b4]
push esi
push eax
call fcn.101154ae
mov eax, dword [edi + 4]
movzx eax, byte [eax + 4]
push eax
call fcn.100ceb48
add esp, 4
mov byte [esp + 0xc], al
mov eax, dword [edi + 4]
movzx eax, byte [eax + 4]
push eax
call fcn.100ceb6e
add esp, 4
test eax, eax
jle 0x101142c1
mov esi, edi
mov ebp, eax
mov edi, esp
xor ebx, ebx
mov eax, dword [esi + 4]
movzx eax, byte [eax + 4]
push ebx
push eax
call fcn.100cea38
add esp, 8
test al, al
je 0x10113649
cmp byte [esp + 0xc], 0
je 0x101136ac
lea ecx, [esp + 0x1c]
push ebx
call fcn.10121c14
push eax
lea eax, [esp + 0x54]
push eax
call fcn.100e25e5
add esp, 8
mov ecx, edi
push dword [esp + 0x50]
call fcn.1004044e
push edi
lea eax, [esp + 0x58]
push eax
call fcn.100ebbe8
add esp, 8
mov ecx, dword [esp + 0x19c]
push ebx
call fcn.10121e00
mov ecx, eax
push dword [esp + 0x54]
lea eax, [esp + 0x14]
push eax
call fcn.10042446
jmp 0x10113731
cmp byte [esp + 0xc], 0
je 0x101136eb
lea ecx, [esp + 0x1c]
push ebx
call fcn.10121c14
mov esi, eax
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
mov ecx, edi
push eax
call fcn.100403a4
push edi
lea eax, [esp + 0x4c]
push eax
call fcn.100ebbe8
add esp, 8
mov ecx, dword [esp + 0x19c]
push ebx
call fcn.10121e00
mov ecx, eax
push dword [esp + 0x48]
lea eax, [esp + 0x14]
push eax
call fcn.10042446
jmp 0x1011372d
lea ecx, [esp + 0x1c]
push ebx
call fcn.10121c14
push eax
lea eax, [esp + 0x50]
push eax
call fcn.100e25e5
add esp, 8
mov ecx, edi
push dword [esp + 0x4c]
call fcn.10041f10
mov ecx, dword [esp + 0x19c]
push ebx
call fcn.10121e00
mov ecx, eax
push edi
lea eax, [esp + 0x14]
push eax
call fcn.1004240a
jmp 0x10113731
lea ecx, [esp + 0x1c]
push ebx
call fcn.10121c14
mov esi, eax
call fcn.1003ddac
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
mov ecx, edi
push eax
call fcn.10041eac
mov ecx, dword [esp + 0x19c]
push ebx
call fcn.10121e00
mov ecx, eax
push edi
lea eax, [esp + 0x14]
push eax
call fcn.1004240a
mov esi, dword [esp + 0x18]
inc ebx
cmp ebp, ebx
jne 0x101135d6
jmp 0x101142c1
mov eax, 8
push eax
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
xor ebx, ebx
push eax
push dword [esp + 0x3c]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0xcc]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov ebp, dword [esp + 0x1b4]
mov ecx, ebp
call fcn.100b1880
lea edi, [esp + 0xc4]
push dword [esi]
push eax
push edi
call fcn.10042f27
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x140]
inc eax
mov ecx, esi
push eax
push dword [edi]
call fcn.100bb3c2
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1a80
mov esi, eax
call fcn.10041e42
push edi
push ebx
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, dword [esp + 0x19c]
lea edx, [esp + 0x1c]
lea ebp, [ecx + 4]
mov ecx, ebp
mov dword [esp + 0x44], ebp
push eax
push edx
call fcn.100bb5c6
mov eax, 8
push eax
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x40]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0xc0]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 8]
lea ecx, [eax + ecx*8]
call fcn.100b1880
lea edi, [esp + 0xb8]
push dword [esi]
push eax
push edi
call fcn.10042f27
add esp, 0xc
mov eax, 8
lea ebx, [esp + 0xbc]
push eax
push dword [edi]
push ebx
call fcn.10042fe8
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x138]
inc eax
mov ecx, esi
push eax
push dword [ebx]
call fcn.100bb3c2
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1a80
mov esi, eax
call fcn.10041e42
push edi
xor ecx, ecx
push ecx
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, ebp
push eax
lea ebx, [esp + 0x20]
push ebx
call fcn.100bb60c
mov eax, 8
push eax
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x44]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0xb8]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x1b4]
lea ecx, [ebp + eax*8]
call fcn.100b1880
lea edi, [esp + 0xb0]
push dword [esi]
push eax
push edi
call fcn.10042f27
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x130]
inc eax
mov ecx, esi
push eax
push dword [edi]
call fcn.100bb3c2
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1a80
mov esi, eax
call fcn.10041e42
push edi
xor ecx, ecx
push ecx
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov ecx, dword [esp + 0x19c]
lea esi, [ecx + 0x14]
mov ecx, esi
push eax
push ebx
call fcn.100bb5c6
mov eax, 8
push eax
call fcn.1003c0ec
add esp, 4
mov edi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x48]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], edi
lea edi, [esp + 0xac]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0xc]
lea ecx, [ebp + eax*8]
call fcn.100b1880
lea ebx, [esp + 0xa4]
push dword [edi]
push eax
push ebx
call fcn.10042f27
add esp, 0xc
mov eax, 8
lea ebp, [esp + 0xa8]
push eax
push dword [ebx]
push ebp
call fcn.10042fe8
add esp, 0xc
xor eax, eax
lea edi, [esp + 0x128]
inc eax
mov ecx, edi
push eax
push dword [ebp]
call fcn.100bb3c2
mov ebx, dword [edi + 4]
mov ecx, edi
call fcn.100b1a80
mov edi, eax
call fcn.10041e42
push ebx
xor ecx, ecx
push ecx
push eax
push edi
call fcn.1003be3a
add esp, 0x10
mov ecx, esi
push eax
lea ebp, [esp + 0x20]
push ebp
call fcn.100bb60c
mov eax, dword [esp + 0x19c]
lea edi, [eax + 8]
mov ecx, edi
push eax
push ebp
call fcn.1004240a
mov ecx, ebp
push esi
push dword [esp + 0x48]
call fcn.1011459a
mov ecx, dword [esp + 0x19c]
mov ebx, esp
push ebp
push ebx
call fcn.1004240a
mov eax, dword [esp + 0x19c]
mov ecx, ebp
lea eax, [eax + 0xc]
push esi
push eax
call fcn.10118942
mov ecx, edi
push ebp
push ebx
call fcn.1004240a
jmp case.default.0x101132f3
mov eax, 0x10
push eax
mov ebp, 0x10
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x3c]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0xec]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x1b4]
mov ecx, eax
call fcn.100b1880
lea edi, [esp + 0xe4]
push dword [esi]
push eax
push edi
call fcn.10042f27
add esp, 0xc
lea esi, [esp + 0x160]
mov ecx, esi
push ebp
mov ebx, 0x10
push dword [edi]
call fcn.100bb3c2
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1a80
mov ecx, dword [esp + 0x19c]
lea ebp, [esp + 0x1c]
mov edx, esp
mov dword [ebp + 4], edi
mov dword [ebp], eax
mov ecx, ecx
push ebp
push edx
call fcn.1004246a
push ebx
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x40]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0xe4]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1b4]
lea ecx, [ecx + eax*8]
call fcn.100b1880
lea edi, [esp + 0xdc]
push dword [esi]
push eax
push edi
call fcn.10042f27
add esp, 0xc
lea esi, [esp + 0x158]
mov ebx, 0x10
mov ecx, esi
push ebx
push dword [edi]
call fcn.100bb3c2
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1a80
mov dword [ebp + 4], edi
mov dword [ebp], eax
mov eax, dword [esp + 0x19c]
lea ecx, [eax + 8]
mov dword [esp + 8], ecx
push ebp
lea eax, [esp + 4]
push eax
call fcn.1004246a
push ebx
call fcn.1003c0ec
add esp, 4
mov edi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x44]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], edi
lea edi, [esp + 0xdc]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1b4]
lea ecx, [ecx + eax*8]
call fcn.100b1880
lea ebx, [esp + 0xd4]
push dword [edi]
push eax
push ebx
call fcn.10042f27
add esp, 0xc
lea edi, [esp + 0x150]
mov esi, 0x10
mov ecx, edi
push esi
push dword [ebx]
call fcn.100bb3c2
mov ebx, dword [edi + 4]
mov ecx, edi
call fcn.100b1a80
mov dword [ebp + 4], ebx
mov dword [ebp], eax
mov eax, dword [esp + 0x19c]
lea edi, [eax + 0x10]
mov ecx, edi
push ebp
lea eax, [esp + 4]
push eax
call fcn.1004246a
push esi
call fcn.1003c0ec
add esp, 4
mov ebx, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x48]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], ebx
lea ebx, [esp + 0xd4]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1b4]
lea ecx, [ecx + eax*8]
call fcn.100b1880
lea esi, [esp + 0xcc]
push dword [ebx]
push eax
push esi
call fcn.10042f27
add esp, 0xc
lea ebx, [esp + 0x148]
mov eax, 0x10
mov ecx, ebx
push eax
push dword [esi]
call fcn.100bb3c2
mov esi, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1a80
mov dword [ebp + 4], esi
mov esi, dword [esp + 0x19c]
mov dword [ebp], eax
lea ebx, [esi + 0x18]
mov ecx, ebx
push ebp
lea eax, [esp + 4]
push eax
call fcn.1004246a
push ebx
push edi
push dword [esp + 0x10]
push esi
call fcn.10125c05
jmp 0x10113f76
mov eax, 0x10
push eax
mov ebx, 0x10
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x3c]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x1b4]
mov ecx, eax
call fcn.100b1880
lea edi, [esp + 0x104]
push dword [esi]
push eax
push edi
call fcn.10042f27
add esp, 0xc
lea esi, [esp + 0x180]
mov ecx, esi
push ebx
push dword [edi]
call fcn.100bb3c2
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1a80
mov ecx, dword [esp + 0x19c]
lea ebp, [esp + 0x1c]
mov edx, esp
mov dword [ebp + 4], edi
mov dword [ebp], eax
mov ecx, ecx
push ebp
push edx
call fcn.1004246a
push ebx
call fcn.1003c0ec
add esp, 4
mov esi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x40]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], esi
lea esi, [esp + 0x104]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1b4]
lea ecx, [ecx + eax*8]
call fcn.100b1880
lea edi, [esp + 0xfc]
push dword [esi]
push eax
push edi
call fcn.10042f27
add esp, 0xc
lea esi, [esp + 0x178]
mov ebx, 0x10
mov ecx, esi
push ebx
push dword [edi]
call fcn.100bb3c2
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1a80
mov dword [ebp + 4], edi
mov dword [ebp], eax
mov eax, dword [esp + 0x19c]
lea ecx, [eax + 8]
mov dword [esp + 8], ecx
push ebp
lea eax, [esp + 4]
push eax
call fcn.1004246a
push ebx
call fcn.1003c0ec
add esp, 4
mov edi, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x44]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], edi
lea edi, [esp + 0xfc]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1b4]
lea ecx, [ecx + eax*8]
call fcn.100b1880
lea ebx, [esp + 0xf4]
push dword [edi]
push eax
push ebx
call fcn.10042f27
add esp, 0xc
lea edi, [esp + 0x170]
mov esi, 0x10
mov ecx, edi
push esi
push dword [ebx]
call fcn.100bb3c2
mov ebx, dword [edi + 4]
mov ecx, edi
call fcn.100b1a80
mov dword [ebp + 4], ebx
mov dword [ebp], eax
mov eax, dword [esp + 0x19c]
lea edi, [eax + 0x10]
mov ecx, edi
push ebp
lea eax, [esp + 4]
push eax
call fcn.1004246a
push esi
call fcn.1003c0ec
add esp, 4
mov ebx, eax
call fcn.1003b794
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esp + 0x48]
call fcn.1003be3a
add esp, 4
mov dword [esp + 8], ebx
lea ebx, [esp + 0xf4]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.1003dff1
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1b4]
lea ecx, [ecx + eax*8]
call fcn.100b1880
lea esi, [esp + 0xec]
push dword [ebx]
push eax
push esi
call fcn.10042f27
add esp, 0xc
lea ebx, [esp + 0x168]
mov eax, 0x10
mov ecx, ebx
push eax
push dword [esi]
call fcn.100bb3c2
mov esi, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1a80
mov dword [ebp + 4], esi
mov esi, dword [esp + 0x19c]
mov dword [ebp], eax
lea ebx, [esi + 0x18]
mov ecx, ebx
push ebp
lea eax, [esp + 4]
push eax
call fcn.1004246a
push ebx
push edi
push dword [esp + 0x10]
push esi
call fcn.10125975
add esp, 0x10
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 4]
test byte [eax + 0x18], 0xf
je 0x101142c1
lea ecx, [esp + 0x1c]
push dword [esp + 0x1ac]
call fcn.1004223e
mov eax, dword [esi + 4]
movzx eax, byte [eax + 4]
push eax
call fcn.100cea04
add esp, 4
test al, al
jne 0x1011403e
mov esi, esp
mov ecx, esi
push 0x3f800000
call fcn.1003ed02
call fcn.10041e42
xor ebp, ebp
push ebp
push ebp
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
lea edi, [esp + 0x10]
mov ecx, edi
push ebp
call fcn.1003ed02
call fcn.10041e42
push ebp
push ebp
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
mov ebx, eax
call fcn.10041e42
lea edi, [esp + 0x1c]
push ebp
push ebp
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 0x78]
push ebx
push eax
push ebp
call fcn.1003efdb
add esp, 0xc
lea ebx, [esp + 0x7c]
push esi
mov esi, dword [esp + 0x1c]
push dword [ebp]
push ebx
call fcn.1003ec6b
add esp, 0xc
lea eax, [esp + 0x40]
mov ecx, edi
push dword [ebx]
push eax
call fcn.10042446
mov ecx, esp
call fcn.1004013a
mov eax, dword [esi + 4]
mov al, byte [eax + 0x18]
and al, 0xf
dec al
cmp al, 7
ja case.default.0x1011405a
movzx eax, al
jmp dword [eax*4 + 0x101e31ac]
call fcn.10041e42
xor edi, edi
push edi
push edi
push eax
mov eax, dword [esp + 0x1a8]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10041e42
push edi
push edi
push eax
push dword [esp + 0x28]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x74]
push esi
push eax
push edi
call fcn.100414bb
jmp 0x101141e2
call fcn.10041e42
xor edi, edi
push edi
push edi
push eax
mov eax, dword [esp + 0x1a8]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10041e42
push edi
push edi
push eax
push dword [esp + 0x28]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x70]
push esi
push eax
push edi
call fcn.1003fd4d
jmp 0x101141e2
call fcn.10041e42
xor edi, edi
push edi
push edi
push eax
mov eax, dword [esp + 0x1a8]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10041e42
push edi
push edi
push eax
push dword [esp + 0x28]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x6c]
push esi
push eax
push edi
call fcn.1004149b
jmp 0x101141e2
call fcn.10041e42
xor edi, edi
push edi
push edi
push eax
mov eax, dword [esp + 0x1a8]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10041e42
push edi
push edi
push eax
push dword [esp + 0x28]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x68]
push esi
push eax
push edi
call fcn.100414db
jmp 0x101141e2
call fcn.10041e42
xor edi, edi
push edi
push edi
push eax
mov eax, dword [esp + 0x1a8]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10041e42
push edi
push edi
push eax
push dword [esp + 0x28]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x64]
push esi
push eax
push edi
call fcn.1004151b
jmp 0x101141e2
call fcn.10041e42
xor edi, edi
push edi
push edi
push eax
mov eax, dword [esp + 0x1a8]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.10041e42
push edi
push edi
push eax
push dword [esp + 0x28]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x60]
push esi
push eax
push edi
call fcn.100414fb
add esp, 0xc
lea eax, [esp + 0x10]
mov ecx, esp
push dword [edi]
push eax
call fcn.10040380
jmp case.default.0x1011405a
lea esi, [esp + 0x10]
mov ecx, esi
push 0xffffffffffffffff
jmp 0x10114207
lea esi, [esp + 0x10]
mov ecx, esi
push 0
call fcn.100404fa
lea eax, [esp + 0x40]
mov ecx, esp
push esi
push eax
call fcn.100406ea
mov eax, 0x3f800000
lea esi, [esp + 0x10]
mov ecx, esi
push eax
call fcn.1003ed02
lea ebp, [esp + 0x58]
push esi
push ebp
call fcn.100b1bc2
add esp, 8
call fcn.10040264
xor ebx, ebx
push ebx
push ebx
push eax
push dword [esp + 0xc]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x5c]
push dword [ebp]
push eax
push edi
call fcn.1003c798
add esp, 0xc
mov edi, dword [edi]
call fcn.10041e42
push eax
push edi
call fcn.1003c15c
add esp, 8
mov edi, dword [esp + 0x19c]
lea ebp, [esp + 0x40]
mov ecx, edi
push eax
push ebp
call fcn.10042446
mov ecx, esi
push ebx
call fcn.1003ed02
lea ecx, [edi + 8]
push esi
push ebp
call fcn.1004240a
mov ecx, esi
push ebx
call fcn.1003ed02
lea ecx, [edi + 0x10]
push esi
push ebp
call fcn.1004240a
mov eax, 0x3f800000
mov ecx, esi
push eax
call fcn.1003ed02
add edi, 0x18
mov ecx, edi
push esi
push ebp
call fcn.1004240a
mov eax, dword [esp + 0x19c]
add esp, 0x188
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
cmp edx, 3
setl al
ret 4
test edx, edx
setle al
ret 4
cmp edx, 2
jmp 0x101184a5
lea edi, [esp + 4]
mov esi, 0x3f000000
lea ebx, [esp + 0x18]
mov ecx, edi
push esi
push ebx
call fcn.1011ff6a
mov ecx, edi
push 0x3f800000
jmp 0x1011f7f7
lea edi, [esp + 4]
mov esi, 0x3f000000
lea ebx, [esp + 0x18]
mov ecx, edi
push esi
push ebx
call fcn.1011ff6a
mov ecx, edi
push esi
push ebx
call fcn.1011ffe0
mov ecx, edi
push 0x3f800000
jmp 0x1011f800
lea edi, [esp + 4]
xor esi, esi
jmp 0x1011f7e7
lea edi, [esp + 4]
mov esi, 0x3f800000
lea ebx, [esp + 0x18]
mov ecx, edi
push esi
push ebx
call fcn.1011ff6a
mov ecx, edi
push esi
push ebx
call fcn.1011ffe0
mov ecx, edi
push esi
push ebx
call fcn.10120058
mov ecx, edi
lea eax, [esp + 0x18]
push 0
push eax
call fcn.100a76c4
mov al, byte [esp + 0x180]
cmp byte [esp + 0x184], 0
je 0x1011fc04
call fcn.100410ba
xor ecx, ecx
push ecx
push eax
call fcn.1003b692
add esp, 8
mov ecx, dword [esp + 0x164]
lea edi, [esp + 0x10]
mov dword [edi], eax
call fcn.100b1880
mov ecx, dword [esp + 0x170]
lea ebx, [esp + 0xc4]
push ecx
push eax
push ebx
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x120]
inc eax
mov ecx, esi
push eax
push dword [ebx]
call fcn.100a7af6
mov ebp, dword [esi + 4]
mov ecx, esi
call fcn.100b1ace
lea edx, [esp + 0x18]
mov ebx, edi
mov ecx, edi
mov dword [edx + 4], ebp
mov dword [edx], eax
lea eax, [esp + 8]
push edx
push eax
call fcn.10041328
mov ecx, dword [esp + 0x168]
call fcn.100b1880
lea ebp, [esp + 0xbc]
push dword [esp + 0x170]
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x118]
inc eax
mov ecx, esi
push eax
push dword [ebp]
call fcn.100a7af6
mov ebp, dword [esi + 4]
mov ecx, esi
call fcn.100b1ace
mov esi, eax
call fcn.100410ba
push ebp
xor ecx, ecx
push ecx
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.100410ba
xor ecx, ecx
push ecx
push ecx
xor edi, edi
push eax
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 0xc0]
push esi
push eax
push ebp
call fcn.1004157f
add esp, 0xc
mov ecx, ebx
push dword [ebp]
lea ebx, [esp + 0x1c]
push ebx
call fcn.100412c8
mov ecx, dword [esp + 0x16c]
call fcn.100b1880
lea ebp, [esp + 0xb4]
push dword [esp + 0x170]
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea esi, [esp + 0x110]
inc eax
mov ecx, esi
push eax
push dword [ebp]
call fcn.100a7af6
mov ebp, dword [esi + 4]
mov ecx, esi
call fcn.100b1ace
mov esi, eax
call fcn.100410ba
push ebp
push edi
push eax
push esi
call fcn.1003be3a
add esp, 0x10
mov esi, eax
call fcn.100410ba
push edi
push edi
push eax
lea edi, [esp + 0x1c]
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 0xb8]
push esi
push eax
push ebp
call fcn.1004157f
add esp, 0xc
mov ecx, edi
push dword [ebp]
push ebx
call fcn.100412c8
push 0x3f000000
call fcn.1003c55c
add esp, 4
push eax
push edi
push ebx
call fcn.100413ee
add esp, 0xc
call fcn.100410ba
xor ecx, ecx
push ecx
push ecx
xor esi, esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 4]
lea ebp, [esp + 8]
mov edi, eax
mov ecx, ebp
push ebx
call fcn.1004298a
call fcn.100410ba
push esi
push esi
push eax
push dword [ebp]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xb0]
push edi
push eax
push esi
call fcn.1004149b
add esp, 0xc
lea edi, [esp + 0x18]
mov ecx, edi
push dword [esi]
call fcn.100b91c6
mov eax, dword [edi + 0x14]
cmp eax, 2
jg 0x1011fa82
lea ebp, [esp + 0x44]
lea esi, [esp + 0x48]
test eax, eax
jne 0x1011fa76
push 0x3f800000
call fcn.1003c55c
add esp, 4
mov edi, eax
mov ecx, ebx
push ebp
call fcn.100ac490
push edi
push dword [esp + 0x48]
push esi
call fcn.1003fd2f
add esp, 0xc
mov ecx, ebx
push dword [esp + 0x48]
lea eax, [esp + 0xc]
push eax
call fcn.100429da
mov eax, dword [esp + 0x2c]
cmp eax, 2
lea eax, [eax + 1]
mov dword [esp + 0x2c], eax
jl 0x1011fa39
lea ecx, [esp + 0x18]
call fcn.100bb384
call fcn.100410ba
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 8]
mov edi, eax
mov ecx, ebp
push ebx
call fcn.10042a24
call fcn.100410ba
push esi
push esi
push eax
push dword [ebp]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xac]
push edi
push eax
push esi
call fcn.1004149b
add esp, 0xc
lea edi, [esp + 0x18]
mov ecx, edi
push dword [esi]
call fcn.100b91c6
mov eax, dword [edi + 0x14]
cmp eax, 2
jg 0x1011fb3a
lea ebp, [esp + 0x3c]
lea esi, [esp + 0x40]
test eax, eax
jne 0x1011fb2e
push 0x3f800000
call fcn.1003c55c
add esp, 4
mov edi, eax
mov ecx, ebx
push ebp
call fcn.100ac4c0
push edi
push dword [esp + 0x40]
push esi
call fcn.1003fd2f
add esp, 0xc
mov ecx, ebx
push dword [esp + 0x40]
lea eax, [esp + 0xc]
push eax
call fcn.10042a76
mov eax, dword [esp + 0x2c]
cmp eax, 2
lea eax, [eax + 1]
mov dword [esp + 0x2c], eax
jl 0x1011faf1
lea ecx, [esp + 0x18]
call fcn.100bb384
call fcn.100410ba
xor esi, esi
push esi
push esi
push eax
push dword [esp + 0x1c]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 8]
mov edi, eax
mov ecx, ebp
push ebx
call fcn.10042ac2
call fcn.100410ba
push esi
push esi
push eax
push dword [ebp]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xa8]
push edi
push eax
push esi
call fcn.1004149b
add esp, 0xc
lea edi, [esp + 0x18]
mov ecx, edi
push dword [esi]
call fcn.100b91c6
mov eax, dword [edi + 0x14]
cmp eax, 2
jg 0x1011fbf2
lea ebp, [esp + 0x34]
lea esi, [esp + 0x38]
test eax, eax
jne 0x1011fbe6
push 0x3f800000
call fcn.1003c55c
add esp, 4
mov edi, eax
mov ecx, ebx
push ebp
call fcn.100ac4f0
push edi
push dword [esp + 0x38]
push esi
call fcn.1003fd2f
add esp, 0xc
mov ecx, ebx
push dword [esp + 0x38]
lea eax, [esp + 0xc]
push eax
call fcn.10042b14
mov eax, dword [esp + 0x2c]
cmp eax, 2
lea eax, [eax + 1]
mov dword [esp + 0x2c], eax
jl 0x1011fba9
lea ecx, [esp + 0x18]
call fcn.100bb384
mov al, byte [esp + 0x180]
mov ebp, esp
mov ebx, dword [esp + 0x160]
test al, al
jne 0x1011fc39
mov esi, dword [esp + 0x15c]
call fcn.10041e42
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x18]
push eax
push ebp
push ecx
call fcn.10042586
add esp, 0xc
call fcn.10041e42
xor ecx, ecx
push ecx
push ecx
push eax
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea ebp, [esp + 0xa0]
lea ecx, [esp + 4]
push ebp
call fcn.100ebc58
lea esi, [esp + 0xa4]
push edi
push dword [ebp]
push esi
call fcn.10041365
add esp, 0xc
lea ecx, [esp + 0x18]
push dword [esi]
call fcn.10041876
call fcn.10041e42
xor ecx, ecx
push ecx
push ecx
push eax
push dword [ebx + 8]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea esi, [esp + 0x98]
lea ecx, [esp + 4]
push esi
call fcn.100ebc88
lea ebp, [esp + 0x9c]
push edi
push dword [esi]
push ebp
call fcn.10041365
add esp, 0xc
lea ecx, [esp + 0x10]
push dword [ebp]
call fcn.10041876
call fcn.10041e42
xor ecx, ecx
push ecx
push ecx
push eax
push dword [ebx + 0x10]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x90]
mov ebp, eax
lea ecx, [esp + 4]
push esi
call fcn.100ebcb8
lea edi, [esp + 0x94]
push ebp
push dword [esi]
push edi
call fcn.10041365
add esp, 0xc
lea ecx, [esp + 8]
mov ebp, ecx
push dword [edi]
call fcn.10041876
call fcn.10041e42
xor ecx, ecx
push ecx
push ecx
xor esi, esi
push eax
push dword [ebp]
call fcn.1003be3a
add esp, 0x10
mov ebp, eax
call fcn.10041e42
push esi
push esi
push eax
lea eax, [esp + 0x1c]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
call fcn.10041e42
push esi
push esi
push eax
lea eax, [esp + 0x24]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x88]
push edi
push eax
push esi
call fcn.1003fd2f
add esp, 0xc
lea ebx, [esp + 0x8c]
push ebp
push dword [esi]
push ebx
call fcn.1003fd2f
add esp, 0xc
lea edi, [esp + 0xd4]
lea ecx, [esp + 8]
push dword [ebx]
push edi
call fcn.10042446
lea ebp, [esp + 0xc]
mov ecx, ebp
push edi
call fcn.100ebc58
lea esi, [esp + 0x84]
lea ebx, [esp + 0x18]
mov ecx, ebx
push dword [edi]
push esi
call fcn.10042446
mov ecx, ebp
push edi
call fcn.100ebc88
lea ecx, [esp + 0x10]
push dword [edi]
push esi
call fcn.10042446
mov ecx, ebp
push edi
call fcn.100ebcb8
lea ecx, [esp + 8]
push dword [edi]
push esi
call fcn.10042446
call fcn.10041e42
xor ecx, ecx
push ecx
push ecx
push eax
push dword [ebx]
call fcn.1003be3a
add esp, 0x10
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x154]
mov ecx, eax
call fcn.100b1880
mov ebp, dword [esp + 0x174]
lea edi, [esp + 0x7c]
push ebp
push eax
push edi
call fcn.10042ef9
add esp, 0xc
xor esi, esi
lea ebx, [esp + 0x80]
push esi
push dword [edi]
push ebx
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x108]
mov eax, 0x10
mov ecx, edi
push eax
push dword [ebx]
call fcn.100bb3c2
mov ebx, dword [edi + 4]
mov ecx, edi
call fcn.100b1a80
mov edi, eax
call fcn.10041e42
push ebx
push esi
push eax
push edi
push dword [esp + 0x40]
call fcn.1003bfc4
add esp, 0x14
call fcn.10041e42
xor ecx, ecx
push ecx
push ecx
push eax
lea eax, [esp + 0x1c]
push dword [eax]
call fcn.1003be3a
add esp, 0x10
mov ecx, dword [esp + 0x154]
mov esi, eax
call fcn.100b1880
lea edi, [esp + 0x74]
push ebp
push eax
push edi
call fcn.10042ef9
add esp, 0xc
mov ebp, 0x10
lea ebx, [esp + 0x78]
push ebp
push dword [edi]
push ebx
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x100]
mov ecx, edi
push ebp
mov ebp, 0x10
push dword [ebx]
call fcn.100bb3c2
mov ebx, dword [edi + 4]
mov ecx, edi
call fcn.100b1a80
mov edi, eax
call fcn.10041e42
push ebx
xor ecx, ecx
push ecx
push eax
push edi
push esi
call fcn.1003bfc4
add esp, 0x14
call fcn.10041e42
xor ecx, ecx
push ecx
push ecx
push eax
lea eax, [esp + 0x18]
push dword [eax - 4]
call fcn.1003be3a
add esp, 0x10
mov ecx, dword [esp + 0x154]
mov esi, eax
call fcn.100b1880
lea edi, [esp + 0x6c]
push dword [esp + 0x174]
push eax
push edi
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x70]
push 0x20
push dword [edi]
push ebx
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0xf8]
mov ecx, edi
push ebp
push dword [ebx]
call fcn.100bb3c2
mov ebx, dword [edi + 4]
mov ecx, edi
call fcn.100b1a80
mov edi, eax
call fcn.10041e42
push ebx
xor ecx, ecx
push ecx
push eax
push edi
push esi
call fcn.1003bfc4
add esp, 0x14
add esp, 0x140
pop esi
pop edi
pop ebx
pop ebp
ret 0x38