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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x244
mov eax, dword [0x101e0048]
xor eax, esp
mov dword [esp + 0x240], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0x10]
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x28], ecx
mov ecx, 3
mov dword [esp + 0x80], ecx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x110], ecx
mov ecx, dword [ebx + 0x10c]
mov dword [esp + 0xd8], ecx
mov ecx, dword [ebx + 0x104]
push esi
mov esi, dword [ebx + 8]
mov dword [esp + 0xf0], ecx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
xor eax, eax
push edi
mov dword [esp + 0x108], edx
mov edx, dword [ebx + 0x108]
mov edi, 1
and ecx, 4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], 0xa
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xfc], esi
mov dword [esp + 0x100], 2
mov dword [esp + 0xf8], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], edi
mov dword [esp + 0x130], eax
mov dword [esp + 0x13c], eax
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], edi
mov dword [esp + 0xe4], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0x124], esi
mov dword [esp + 0x120], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0x10c], edx
mov dword [esp + 0x6c], ecx
jne 0x1011bed7
mov dword [ebx + 0x108], eax
mov dword [ebx + 0x104], eax
movzx edx, byte [ebx + 0x11c]
movzx ecx, byte [ebx + 0x11d]
mov byte [esp + 0x2a], dl
movzx edx, byte [ebx + 0x11e]
mov byte [esp + 0x2e], cl
movzx ecx, byte [ebx + 0xf0]
mov byte [esp + 0x2f], dl
movzx edx, byte [ebx + 0xf3]
mov byte [esp + 0x2c], cl
mov ecx, dword [ebx + 0x1c]
mov byte [esp + 0x2d], dl
mov edx, dword [ebx + 0x88]
mov edx, dword [ecx + edx*4]
mov dword [esp + 0x78], edx
mov edx, dword [ebx + 0x9c]
mov edx, dword [ecx + edx*4]
mov dword [esp + 0x74], edx
mov edx, dword [ebx + 0xa0]
mov edx, dword [ecx + edx*4]
mov dword [esp + 0x7c], edx
mov edx, dword [ebx + 0x94]
mov edx, dword [ecx + edx*4]
mov dword [esp + 0x44], edx
mov edx, dword [ebx + 0x38]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x70], ecx
movzx ecx, byte [esi + 0x7fd1]
shr ecx, 2
add ecx, ecx
not ecx
and ecx, 2
or ecx, edi
or edx, 0xffffffff
mov dword [esp + 0x174], ecx
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
mov byte [esp + 0x1a8], al
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], eax
mov dword [esp + 0x178], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
mov dword [esp + 0x1ac], eax
movzx ecx, byte [esi + 0x7fd1]
shr ecx, 4
not ecx
and ecx, edi
or ecx, 2
mov byte [esp + 0x2b], al
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], eax
mov byte [esp + 0x220], al
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], edx
mov dword [esp + 0x208], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], eax
mov byte [esp + 0x1e4], al
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], edx
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1e8], eax
mov ecx, 0x14
lea ebx, [ebx]
cmp dword [eax*4 + 0x1006ea30], ecx
jae 0x1011c19e
add eax, edi
cmp eax, 0x1c
jb 0x1011c0c0
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x94]
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x94]
push ecx
mov ecx, 4
lea edi, [eax + eax*2]
push edx
lea esi, [ecx + 6]
call fcn.100db050
mov edi, eax
test edi, edi
jl 0x1011dac1
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x1c]
mov eax, esi
lea edx, [esp + 0x174]
call fcn.10117950
mov edi, eax
test edi, edi
jl 0x1011dac1
mov ecx, dword [esp + 0x1c]
lea esi, [esi + ecx*4]
mov eax, esi
lea edx, [esp + 0x1ec]
call fcn.10117950
mov edi, eax
test edi, edi
jl 0x1011dac1
mov ecx, dword [esp + 0x1c]
lea eax, [esi + ecx*4]
lea edx, [esp + 0x1b0]
call fcn.10117950
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [ebx + 8]
xor esi, esi
test byte [edx + 0x7fd3], 0x80
je 0x1011c1ae
lea eax, [esp + 0x174]
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x1ec]
lea eax, [esp + 0x1b0]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
jmp 0x1011c1ba
mov edx, dword [eax*4 + 0x1006ea30]
mov dword [esp + 0x1c], edx
jmp 0x1011c0d8
mov dword [esp + 0x24], esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x10]
test byte [ecx + 0xb4], 4
je 0x1011c1ed
mov eax, dword [ecx + 0xc]
push eax
add ecx, 0x10
push 0x1008bf4c
push ecx
mov edx, 0xdac
mov eax, ebx
call fcn.1010ad00
add esp, 0xc
mov edi, 0x80004001
jmp 0x1011dac1
mov eax, dword [ebp + 0x14]
and eax, 1
mov dword [esp + 0x1c], eax
je 0x1011cc2b
mov eax, dword [ecx + 0xc]
push edx
call fcn.10163f40
mov edi, eax
cmp edi, esi
jl 0x1011dac1
mov edx, dword [ebx + 8]
mov cl, byte [edx + 0x7fd1]
mov eax, 1
mov esi, 3
mov dword [esp + 0x48], 0x1008bfb4
mov dword [esp + 0x4c], 0x1008bfbc
mov dword [esp + 0x50], 0x1008bfc4
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], 2
test cl, 8
je 0x1011c478
push esi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, 6
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x248]
push ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x94]
push ebx
mov dword [esp + 0x250], 0x1008bfc8
mov dword [esp + 0x254], 0x1008bfd8
mov dword [esp + 0x258], 0x1008bfe8
mov byte [esp + 0x2c], 0
mov byte [esp + 0x2d], 0
mov byte [esp + 0x2e], 1
call fcn.10105eb0
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x94]
push 0x1008bff4
push 0x1008bfc8
push 6
push edx
lea eax, [esp + 0x58]
mov esi, ebx
call fcn.101052e0
push 0x1008bff4
push 0x1008bfd8
mov byte [esp + 0x17], al
mov eax, dword [edi + 0x94]
push 6
push eax
lea eax, [esp + 0x68]
call fcn.101052e0
cmp byte [esp + 0xf], 0
je 0x1011c3a9
test al, al
je 0x1011c34c
mov ecx, dword [edi + 0x94]
push 0x1008bfc8
push 0x10089d38
call fcn.10110900
push eax
mov edx, 0xdc4
mov eax, ebx
call fcn.1010ad00
add esp, 0xc
cmp dword [esp + 0x54], 0
ja 0x1011d76e
mov ecx, dword [esp + 0x50]
jb 0x1011c366
cmp ecx, 0xffffffff
ja 0x1011d76e
cmp dword [esp + 0x64], 0
ja 0x1011d76e
mov eax, dword [esp + 0x60]
jb 0x1011c380
cmp eax, 0xffffffff
ja 0x1011d76e
cmp byte [esp + 0xf], 0
je 0x1011c389
mov eax, ecx
mov ecx, dword [ebx + 8]
mov dword [ecx + 0x7fec], eax
mov edx, dword [ebx + 8]
cmp dword [edx + 0x7fec], 0
jne 0x1011c3d3
mov eax, dword [edi + 0xc]
push eax
push 0x1008c020
jmp 0x1011c3b6
test al, al
jne 0x1011c34c
mov eax, dword [edi + 0xc]
push eax
push 0x1008bffc
add edi, 0x10
push edi
mov edx, 0xdba
mov eax, ebx
call fcn.1010ad00
add esp, 0xc
mov edi, 0x80004005
jmp 0x1011dac1
mov eax, dword [edi + 0x94]
push 0x1008bff4
push 0x1008bfe8
push 6
push eax
lea eax, [esp + 0x58]
call fcn.101052e0
test al, al
je 0x1011cc53
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + 0x7fb4]
test eax, eax
jne 0x1011c413
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
push eax
push 0x1008c054
jmp 0x1011c3b6
mov edx, dword [esp + 0x50]
cmp edx, 1
jae 0x1011c43e
push 0x1008c074
add edi, 0x10
push edi
mov edx, 0xdba
mov eax, ebx
call fcn.1010ad00
add esp, 8
mov edi, 0x80004005
jmp 0x1011dac1
cmp edx, eax
jbe 0x1011c46d
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0xc]
call eax
push eax
push 0x1008c09c
add edi, 0x10
push edi
mov edx, 0xdba
mov eax, ebx
call fcn.1010ad00
add esp, 0x10
mov edi, 0x80004005
jmp 0x1011dac1
mov dword [ecx + 0x7ff0], edx
jmp 0x1011cc53
test cl, 0x20
je 0x1011c633
push eax
lea ecx, [esp + 0x13]
push ecx
lea edx, [esp + 0x240]
push edx
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x94]
push ebx
mov dword [esp + 0x50], 0x1008c0c0
mov dword [esp + 0x58], esi
mov byte [esp + 0x27], 0
mov dword [esp + 0x250], 6
call fcn.10105eb0
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x94]
push 0x1008c0c0
push eax
push ebx
lea eax, [esp + 0xac]
call fcn.10105880
mov edi, eax
test edi, edi
jl 0x1011dac1
cmp dword [esp + 0xac], 0
ja 0x1011d76e
jb 0x1011c517
cmp dword [esp + 0xa8], 0xffffffff
ja 0x1011d76e
cmp dword [esp + 0xbc], 0
ja 0x1011d76e
jb 0x1011c535
cmp dword [esp + 0xb8], 0xffffffff
ja 0x1011d76e
cmp dword [esp + 0xcc], 0
ja 0x1011d76e
mov esi, dword [esp + 0xc8]
jb 0x1011c555
cmp esi, 0xffffffff
ja 0x1011d76e
cmp byte [ebx + 0xf2], 0
jne 0x1011c3c9
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + 0x7fc4]
mov edi, dword [esp + 0x10]
mov edx, esi
imul edx, dword [esp + 0xb8]
imul edx, dword [esp + 0xa8]
cmp edx, eax
jbe 0x1011c5c3
mov ecx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0xbc]
push esi
push eax
push ecx
mov ecx, dword [edi + 0x94]
push 0x1008c0c0
push 0x1008c0f8
call fcn.10110900
push eax
mov edx, 0xe47
mov eax, ebx
call fcn.1010ad00
add esp, 0x1c
mov byte [ebx + 0xf2], 1
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0x7fc8]
cmp esi, eax
jbe 0x1011c5fe
mov ecx, dword [edi + 0x94]
push eax
push 0x1008c0c0
push esi
push 0x1008c148
call fcn.10110900
push eax
mov edx, 0xe47
mov eax, ebx
call fcn.1010ad00
add esp, 0x14
mov byte [ebx + 0xf2], 1
mov eax, dword [ebx + 8]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xb8]
add eax, 0x810c
mov dword [eax], ecx
mov dword [eax + 4], edx
mov dword [eax + 8], esi
cmp byte [ebx + 0xf2], 0
je 0x1011cc53
mov edi, 0x80004005
jmp 0x1011dac1
test cl, 0x40
je 0x1011cb12
test cl, cl
js 0x1011cb12
push 6
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], eax
mov dword [esp + 0xb4], eax
lea eax, [esp + 0x23c]
push eax
lea ecx, [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x14c]
push edx
lea eax, [esp + 0x168]
mov esi, 0x15
push eax
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x94]
push ebx
mov dword [esp + 0x170], 0x1008c194
mov dword [esp + 0x174], 0x1008bf7c
mov dword [esp + 0x178], 0x1008c1f4
mov dword [esp + 0x17c], 0x1008c25c
mov dword [esp + 0x180], 0x1008c2f4
mov dword [esp + 0x184], 0x1008c2b8
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], esi
mov dword [esp + 0xcc], 6
mov byte [esp + 0x250], 0
mov byte [esp + 0x251], 0
mov byte [esp + 0x252], 0
mov byte [esp + 0x253], 0
mov byte [esp + 0x254], 0
mov byte [esp + 0x255], 0
call fcn.10105eb0
mov edi, eax
test edi, edi
jl 0x1011dac1
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x94]
mov ecx, dword [esp + 0x14]
push 0x1008c1b8
push esi
push edx
lea eax, [esp + 0x244]
mov edi, 0x1008c1a8
mov ebx, 0x1008c194
call fcn.10105810
mov edi, eax
test edi, edi
jl 0x1011dabd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x94]
push 0x1008bf90
push esi
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x164]
mov edi, 0x1008bf84
mov ebx, 0x1008bf7c
call fcn.10105810
mov edi, eax
test edi, edi
jl 0x1011dabd
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x94]
mov ecx, dword [esp + 0x14]
push 0x1008c218
push esi
push eax
lea eax, [esp + 0x14c]
mov edi, 0x1008c204
mov ebx, 0x1008c1f4
call fcn.10105810
mov edi, eax
test edi, edi
jl 0x1011dabd
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x94]
mov ecx, dword [esp + 0x14]
push 0x1008c27c
push esi
push edx
lea eax, [esp + 0xac]
mov edi, 0x1008c26c
mov ebx, 0x1008c25c
call fcn.10105810
mov edi, eax
test edi, edi
jl 0x1011dabd
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x94]
push 0x1008c2cc
push 6
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x234]
mov edi, 0x1008bff4
mov ebx, 0x1008c2b8
call fcn.10105810
mov edi, eax
test edi, edi
jl 0x1011dabd
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
add ebx, 0x10
add eax, 0x8000
cmp dword [esp + 0x244], 0
je 0x1011c895
push eax
push ebx
lea eax, [esp + 0x240]
mov esi, ecx
call fcn.10105a80
mov edi, eax
test edi, edi
jl 0x1011dabd
mov ecx, esi
mov edx, dword [ecx + 8]
add edx, 0x8004
push edx
push 3
lea eax, [esp + 0x60]
push eax
lea edx, [esp + 0x54]
push edx
push 0x1008bf90
push 0x1008bf84
lea eax, [esp + 0x170]
push eax
push ebx
push ecx
call fcn.10105b00
mov edi, eax
test edi, edi
jl 0x1011dabd
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
add ecx, 0x8008
push ecx
push 4
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x64]
push ecx
push 0x1008c218
push 0x1008c204
lea edx, [esp + 0x158]
push edx
push ebx
mov esi, 1
push eax
mov dword [esp + 0x7c], 0x1008c304
mov dword [esp + 0x80], 0x1008c314
mov dword [esp + 0x84], 0x1008c324
mov dword [esp + 0x88], 0x1008c32c
mov dword [esp + 0x6c], 4
mov dword [esp + 0x70], 3
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], 2
call fcn.10105b00
mov edi, eax
test edi, edi
jl 0x1011dabd
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
add ecx, 0x800c
push ecx
push 4
lea edx, [esp + 0x50]
push edx
lea ecx, [esp + 0x64]
push ecx
push 0x1008c27c
push 0x1008c26c
lea edx, [esp + 0xb8]
push edx
push ebx
push eax
mov dword [esp + 0x7c], 0x1008a4d8
mov dword [esp + 0x80], 0x1008a580
mov dword [esp + 0x84], 0x1008c334
mov dword [esp + 0x88], 0x1008c344
mov dword [esp + 0x6c], 2
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], 4
mov dword [esp + 0x78], 3
call fcn.10105b00
mov edi, eax
test edi, edi
jl 0x1011dabd
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x800c]
cmp ecx, 2
je 0x1011ca09
add ecx, 0xfffffffd
cmp ecx, 1
ja 0x1011ca36
cmp dword [eax + 0x8004], 1
jne 0x1011ca36
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
push eax
push 0x1008c398
jmp 0x1011ca1f
cmp dword [eax + 0x8004], 1
je 0x1011ca36
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0xc]
push eax
push 0x1008c350
push ebx
mov edx, 0xe49
mov eax, esi
call fcn.1010ad00
mov byte [esi + 0xf2], 1
add esp, 0xc
cmp dword [esp + 0x234], 0
ja 0x1011ca4c
mov eax, dword [esp + 0x230]
cmp eax, 0xffffffff
jbe 0x1011ca58
mov edi, 0x80004005
mov ebx, esi
jmp 0x1011dac1
mov edx, dword [esi + 8]
mov edi, dword [esp + 0x10]
push 0x1008c3e0
push 0x1008c2f4
mov dword [edx + 0x8010], eax
mov eax, dword [edi + 0x94]
push 1
push eax
lea eax, [esp + 0xb0]
call fcn.101052e0
mov ecx, dword [esi + 8]
mov byte [ecx + 0x7ff5], al
mov eax, dword [esi + 8]
cmp byte [eax + 0x7ff5], 0
je 0x1011caed
fld qword [esp + 0xa8]
fstp qword [eax + 0x7ff8]
mov ecx, dword [esi + 8]
fld1
fcomp qword [ecx + 0x7ff8]
fnstsw ax
test ah, 0x41
je 0x1011cacb
fld qword [0x100a3120]
fcomp qword [ecx + 0x7ff8]
fnstsw ax
test ah, 5
jp 0x1011caf9
mov eax, dword [edi + 0xc]
push eax
push 0x1008c3e8
push ebx
mov edx, 0xe49
mov eax, esi
call fcn.1010ad00
add esp, 0xc
mov byte [esi + 0xf2], 1
jmp 0x1011caf9
fld qword [0x100a3120]
fstp qword [eax + 0x7ff8]
cmp byte [esi + 0xf2], 0
je 0x1011cc4b
mov edi, 0x80004005
mov ebx, esi
jmp 0x1011dac1
test byte [edx + 0x7fd2], al
je 0x1011cc02
push eax
mov dword [esp + 0x44], eax
lea edx, [esp + 0x13]
push edx
lea eax, [esp + 0x240]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x94]
lea edx, [esp + 0x48]
push edx
mov esi, 0x15
push ebx
mov dword [esp + 0x50], 0x1008bf7c
mov dword [esp + 0x250], esi
mov byte [esp + 0x27], 0
call fcn.10105eb0
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x94]
push 0x1008bf90
push esi
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xac]
mov edi, 0x1008bf84
mov ebx, 0x1008bf7c
call fcn.10105810
mov edi, eax
test edi, edi
jl 0x1011dabd
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 8]
add edx, 0x8004
push edx
push 3
lea ecx, [esp + 0x60]
push ecx
lea edx, [esp + 0x54]
push edx
mov edx, dword [esp + 0x20]
push 0x1008bf90
push 0x1008bf84
lea ecx, [esp + 0xb8]
push ecx
add edx, 0x10
push edx
push eax
call fcn.10105b00
mov edi, eax
test edi, edi
jl 0x1011dabd
mov eax, dword [esp + 0x14]
cmp byte [eax + 0xf2], 0
je 0x1011cc4b
mov edi, 0x80004005
mov ebx, eax
jmp 0x1011dac1
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x94]
push 0
push 0
push 0
push 0
push 0
push ebx
call fcn.10105eb0
mov edi, eax
test edi, edi
jl 0x1011dac1
jmp 0x1011cc4f
mov eax, dword [ecx + 0x68]
mov ecx, dword [ecx + 0x94]
push esi
push esi
push esi
push esi
push esi
push ebx
call fcn.10105eb0
mov edi, eax
cmp edi, esi
jl 0x1011dac1
jmp 0x1011cc4f
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
xor edx, edx
cmp eax, edx
je 0x1011cc70
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x238], eax
jmp 0x1011cc7b
mov dword [esp + 0x14], edx
mov dword [esp + 0x238], edx
mov edi, dword [edi + 0x50]
xor esi, esi
lea ecx, [esi + 2]
cmp edi, edx
je 0x1011cc96
cmp dword [edi + 4], ecx
jne 0x1011cc96
mov eax, edi
mov edi, dword [edi + 0x58]
add esi, dword [eax + 0x34]
jmp 0x1011cc83
mov edi, esi
lea eax, [esp + 0xf8]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x1011dac1
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x18]
push eax
push esi
push ecx
push edx
mov edx, dword [esp + 0x2c]
push ebx
call fcn.101196d0
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [ebx + 4]
mov edi, dword [eax + 0x14]
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
add edi, 0x10
lea eax, [esp + 0x80]
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x40], edx
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [esp + 0x20]
mov edx, dword [ebx + 0x1c]
lea ecx, [eax*4]
mov eax, dword [esp + 0x80]
push ecx
push edx
push eax
call sub.msvcrt.dll_memcpy
movzx ecx, byte [ebx + 0x11c]
movzx edx, byte [ebx + 0x11d]
mov al, byte [ebx + 0x11e]
mov esi, dword [ebx + 0x9c]
mov byte [esp + 0x36], cl
mov ecx, dword [ebx + 0x88]
mov byte [esp + 0x3a], dl
mov byte [esp + 0x3b], al
mov eax, dword [ebx + 0x1c]
mov edx, dword [eax + ecx*4]
mov ecx, dword [eax + esi*4]
mov dword [esp + 0x84], edx
mov edx, dword [ebx + 0xa0]
mov dword [esp + 0x80], ecx
mov ecx, dword [eax + edx*4]
mov edx, dword [ebx + 0x94]
mov dword [esp + 0x88], ecx
mov ecx, dword [eax + edx*4]
movzx edx, byte [ebx + 0xf3]
mov byte [esp + 0x39], dl
mov edx, dword [ebx + 0x38]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x50], ecx
movzx ecx, byte [ebx + 0xf0]
mov dword [esp + 0x7c], eax
add esp, 0xc
or edx, 0xffffffff
mov eax, ebx
mov byte [esp + 0x2c], cl
mov byte [ebx + 0xf3], 0
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov esi, dword [ebx + 0xa0]
or edx, 0xffffffff
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0x94]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
cmp dword [esp + 0x6c], 0
mov byte [ebx + 0x11c], 0
mov byte [ebx + 0x11d], 0
jne 0x1011ce3a
mov esi, dword [ebx + 0x38]
or edx, 0xffffffff
mov eax, ebx
mov byte [ebx + 0x11e], 0
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edi, dword [esp + 0x10]
or byte [edi + 0xb4], 4
cmp dword [esp + 0x1c], 0
mov byte [esp + 0x2b], 1
je 0x1011d113
mov esi, dword [ebx + 8]
mov al, byte [esi + 0x7fd1]
test al, 0x40
je 0x1011ce74
test al, al
js 0x1011ce74
mov eax, dword [edi + 0x48]
call fcn.100bef60
mov dword [esi + 0x8018], eax
cmp dword [esp + 0x1c], 0
je 0x1011d113
mov ecx, dword [ebx + 8]
test byte [ecx + 0x7fd6], 2
je 0x1011d113
push 0xffffffffffffffff
lea esi, [ecx + 0x468]
call fcn.1017c720
test al, al
je 0x1011d113
push 0
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
push edi
push ebx
mov byte [ebx + 0x11e], 1
mov dword [esp + 0x2c], 0
call fcn.1011ac20
mov edi, eax
test edi, edi
jl 0x1011dac1
mov esi, dword [esp + 0x14]
mov edi, esi
lea eax, [esp + 0x130]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edi, esi
lea eax, [esp + 0x110]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x10]
push 0
push 0
push eax
push 0
push edx
push ebx
mov dword [ebx + 0x10c], esi
mov dword [ebx + 0x108], eax
call fcn.1011ac20
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [esp + 0x110]
push 0x11
push 0
mov dword [ebx + 0x104], eax
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x8078]
push 0
push ecx
lea edx, [esp + 0x34]
push edx
push eax
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [esp + 0x24]
mov esi, dword [ebx + 0x38]
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x30]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov dword [edx + 0xb4], eax
xor eax, eax
test ecx, ecx
jbe 0x1011cfae
jmp 0x1011cfa0
mov edi, dword [ebx + 0x104]
mov dword [edi + eax*4], edx
inc eax
cmp eax, ecx
jb 0x1011cfa0
mov edx, dword [ebx + 0x104]
and ecx, 0xfffff
push edx
or ecx, 0x50a00000
push ecx
add esi, 0x10
push esi
push ebx
xor eax, eax
xor ecx, ecx
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x1011dac1
lea eax, [esp + 0xa0]
call fcn.10117610
mov esi, dword [esp + 0x18]
call fcn.101176c0
mov edx, dword [ebx + 0x104]
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0xa0]
push ecx
push edx
push 0
push 0
push eax
push ebx
call fcn.1011ac20
mov edi, eax
test edi, edi
jge 0x1011d024
lea eax, [esp + 0xa0]
call fcn.101176a0
jmp 0x1011dac1
xor edi, edi
mov dword [esp + 0x24], edi
cmp dword [esp + 0x14], edi
jbe 0x1011d103
mov ecx, dword [ebx + 0x104]
mov eax, dword [ecx + edi*4]
mov edx, dword [eax + 0x4c]
test byte [edx*4 + 0x101e0f12], 1
je 0x1011d0d3
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x8084]
mov edx, dword [eax + 0x50]
cmp edx, ecx
je 0x1011d0ba
test edx, edx
je 0x1011d091
cmp edx, 0xffffffff
je 0x1011d091
mov esi, dword [eax + 4]
test esi, esi
je 0x1011d078
mov edi, dword [eax]
mov dword [esi], edi
mov edi, dword [esp + 0x24]
jmp 0x1011d07d
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1011d08b
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x1011d091
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1011d0b7
cmp ecx, 0xffffffff
je 0x1011d0b7
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1011d0ab
mov dword [edx], eax
jmp 0x1011d0ae
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov ecx, dword [eax + 0x50]
mov edx, dword [ecx + 0x10]
mov dword [eax + 0xb4], edx
mov dword [eax + 0x60], edx
inc dword [ecx + 0x10]
mov dword [eax + 0x64], 0
call fcn.10165fc0
mov ecx, dword [eax + 0x50]
mov ecx, dword [ecx + 8]
and ecx, 0x8000000
xor edx, edx
or ecx, edx
jne 0x1011d0f4
mov dword [eax + 0x80], 0x2000
inc edi
mov dword [esp + 0x24], edi
cmp edi, dword [esp + 0x14]
jb 0x1011d034
lea eax, [esp + 0xa0]
call fcn.101176a0
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x8c]
push 1
push 0
push 0
push eax
mov ecx, ebx
mov byte [esp + 0x1f], 0
call fcn.10104860
mov edi, eax
test edi, edi
jl 0x1011dac1
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x8c]
push 0
push 0
push 0
push edx
mov ecx, ebx
call fcn.10104860
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ecx + eax*4]
lea edi, [esp + 0x3f]
mov esi, ebx
call fcn.101096c0
test eax, eax
jl 0x1011d19b
cmp byte [esp + 0x3f], 0
je 0x1011d19b
mov ecx, dword [esp + 0x1c]
mov byte [esp + 0xf], 1
test ecx, ecx
je 0x1011d19f
mov eax, dword [ebx + 8]
test byte [eax + 0x7fd6], 2
je 0x1011d19f
inc dword [eax + 0x46c]
jmp 0x1011d19f
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x34]
movzx edi, byte [ebx + 0xf3]
test esi, esi
jbe 0x1011d1e7
test ecx, ecx
je 0x1011d1e7
mov edx, dword [ebx + 8]
test byte [edx + 0x7fd1], 8
je 0x1011d1e7
mov ecx, dword [eax + 0xc]
push ecx
add eax, 0x10
push 0x1008bf20
push eax
mov edx, 0xdb3
mov eax, ebx
call fcn.1010ad00
add esp, 0xc
mov edi, 0x80004005
jmp 0x1011dac1
cmp byte [esp + 0xf], 0
jne 0x1011d228
test esi, esi
jbe 0x1011d228
test ecx, ecx
je 0x1011d202
mov ecx, dword [ebx + 8]
test byte [ecx + 0x7fd1], 8
jne 0x1011d228
mov ecx, dword [eax + 0xc]
push ecx
add eax, 0x10
push 0x1008c420
push eax
mov edx, 0xdb3
mov eax, ebx
call fcn.1010ad00
add esp, 0xc
mov edi, 0x80004005
jmp 0x1011dac1
test edi, edi
je 0x1011d5f8
cmp byte [ebx + 0x11e], 0
jne 0x1011d605
mov edx, dword [ebx + 8]
test byte [edx + 0x7fd6], 4
je 0x1011d5f8
mov dword [esp + 0x14], 0
xor esi, esi
xor edi, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x38], esi
cmp dword [esp + 0x20], esi
jbe 0x1011d307
jmp 0x1011d270
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + esi*4]
lea eax, [eax + esi*4]
cmp ecx, 0xffffffff
je 0x1011d2f8
mov edx, dword [esp + 0x80]
cmp ecx, dword [edx + esi*4]
je 0x1011d2f8
mov eax, dword [ecx + 0x50]
mov eax, dword [eax + 8]
and eax, 0x4000000
xor edx, edx
or eax, edx
je 0x1011d2e4
mov ecx, dword [ecx + 0x8c]
cmp dword [ecx + 0xa4], esi
jne 0x1011d2f8
cmp dword [esp + 0x14], edx
je 0x1011d2df
xor eax, eax
cmp dword [ecx + 0x34], edx
jbe 0x1011d2df
lea edx, [edi*4]
lea ecx, [ecx]
mov esi, dword [ecx + 0x30]
mov edi, dword [ebx + 0x108]
add esi, eax
mov dword [edx + edi], esi
inc eax
add edx, 4
cmp eax, dword [ecx + 0x34]
jb 0x1011d2c0
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x24]
add edi, dword [ecx + 0x34]
jmp 0x1011d2f4
cmp dword [esp + 0x14], edx
je 0x1011d2f3
mov eax, dword [ebx + 0x108]
mov dword [eax + edi*4], esi
inc edi
mov dword [esp + 0x24], edi
inc esi
mov dword [esp + 0x38], esi
cmp esi, dword [esp + 0x20]
jb 0x1011d270
cmp dword [esp + 0x14], 0
jne 0x1011d340
lea esi, [esp + 0xe4]
mov dword [ebx + 0x10c], edi
call fcn.100da650
mov eax, esi
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x1011dac1
mov ecx, dword [esp + 0xe4]
mov dword [ebx + 0x108], ecx
jmp 0x1011d34c
cmp edi, dword [ebx + 0x10c]
jne 0x1011d76e
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, 2
jb 0x1011d255
mov edx, dword [ebx + 0x1a8]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x40]
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
mov esi, ebx
call fcn.1010a960
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edi, dword [ebx + 0x10c]
lea eax, [esp + 0x120]
call fcn.100da490
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [esp + 0x120]
mov eax, dword [ebx + 8]
push 0x11
push 0
mov dword [ebx + 0x104], edx
mov ecx, dword [eax + 0x8078]
push 0
push ecx
lea edx, [esp + 0x40]
push edx
push eax
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x1011dac1
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x30]
mov ecx, dword [esp + 0x30]
mov dword [ecx + 0xb4], eax
xor eax, eax
cmp dword [ebx + 0x10c], eax
jbe 0x1011d402
mov edx, dword [ebx + 0x104]
mov dword [edx + eax*4], ecx
inc eax
cmp eax, dword [ebx + 0x10c]
jb 0x1011d3f0
mov eax, dword [ebx + 0x10c]
mov edx, dword [ebx + 0x104]
and eax, 0xfffff
push edx
or eax, 0x50a00000
push eax
add esi, 0x10
push esi
push ebx
xor eax, eax
xor ecx, ecx
call fcn.1010b2f0
mov edi, eax
test edi, edi
jl 0x1011dac1
xor ecx, ecx
mov dword [esp + 0x38], ecx
cmp dword [ebx + 0x10c], ecx
jbe 0x1011d52b
mov edx, dword [ebx + 0x104]
mov eax, dword [edx + ecx*4]
mov edx, dword [ebx + 0x108]
mov ecx, dword [edx + ecx*4]
mov dword [eax + 0x70], ecx
mov edx, dword [ebx + 0x1c]
cmp dword [edx + ecx*4], 0xffffffff
lea ecx, [edx + ecx*4]
jne 0x1011d48f
mov ecx, dword [ebx + 8]
mov edx, dword [eax + 0x50]
mov ecx, dword [ecx + 0x8054]
cmp edx, ecx
je 0x1011d516
test edx, edx
je 0x1011d4ed
cmp edx, 0xffffffff
je 0x1011d4ed
mov esi, dword [eax + 4]
test esi, esi
je 0x1011d4d4
mov edi, dword [eax]
mov dword [esi], edi
jmp 0x1011d4d9
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x50]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x34], ecx
mov ecx, edx
and ecx, 0x4000000
xor esi, esi
or ecx, esi
je 0x1011d4ba
mov edx, dword [ebx + 8]
mov ecx, dword [edx + 0x8098]
mov edx, dword [eax + 0x50]
jmp 0x1011d471
and edx, 0x200000
xor ecx, ecx
or edx, ecx
mov ecx, dword [ebx + 8]
mov edx, dword [eax + 0x50]
je 0x1011d46b
mov ecx, dword [ecx + 0x8088]
jmp 0x1011d471
mov esi, dword [eax]
mov dword [edx + 0x24], esi
mov esi, dword [eax]
test esi, esi
je 0x1011d4e7
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
jmp 0x1011d4ed
mov esi, dword [eax + 4]
mov dword [edx + 0x28], esi
test ecx, ecx
je 0x1011d513
cmp ecx, 0xffffffff
je 0x1011d513
mov edx, dword [ecx + 0x28]
mov dword [eax + 4], edx
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x1011d507
mov dword [edx], eax
jmp 0x1011d50a
mov dword [ecx + 0x24], eax
mov dword [eax], 0
mov dword [ecx + 0x28], eax
mov dword [eax + 0x50], ecx
mov ecx, dword [esp + 0x38]
inc ecx
mov dword [esp + 0x38], ecx
cmp ecx, dword [ebx + 0x10c]
jb 0x1011d444
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x8078]
push 0x11
push 0
push 0
push ecx
lea edx, [esp + 0x40]
push edx
push eax
call fcn.10169c20
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [esp + 0x30]
mov esi, dword [ebx + 0x38]
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, ebx
call fcn.10108b40
mov esi, dword [ebx + 0x94]
mov edx, eax
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x8c]
push 0
push 0
push 0
push ecx
mov ecx, ebx
call fcn.10104860
mov edi, eax
test edi, edi
jl 0x1011dac1
cmp dword [ebx + 0x10c], 0
mov dword [esp + 0x20], 0
jbe 0x1011d5f8
jmp 0x1011d5c0
mov edx, dword [ebx + 0x108]
mov eax, dword [esp + 0x20]
mov esi, dword [edx + eax*4]
mov ecx, dword [ebx + 0x104]
mov edx, dword [ecx + eax*4]
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
cmp eax, dword [ebx + 0x10c]
jb 0x1011d5c0
cmp byte [ebx + 0x11e], 0
je 0x1011d778
cmp dword [esp + 0x1c], 0
je 0x1011d778
cmp byte [esp + 0xf], 0
jne 0x1011d637
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x88]
push 0
push 0
push eax
mov ecx, ebx
call fcn.1012b6f0
mov edi, eax
test edi, edi
jl 0x1011dac1
mov ecx, dword [ebx + 8]
mov esi, dword [esp + 0x40]
cmp dword [ecx + 0x10], esi
jbe 0x1011d64b
mov edx, dword [ecx + 0x14]
mov eax, dword [edx + esi*4]
jmp 0x1011d64d
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], esi
cmp esi, dword [ecx + 0x10]
jae 0x1011d7d8
mov edi, edi
mov edi, dword [eax + 0x3c]
test edi, 0xf0000000
je 0x1011d72a
mov ecx, edi
and ecx, 0xfff00000
cmp ecx, 0x50800000
jne 0x1011d72a
mov edx, dword [eax + 0xc]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0xb4]
cmp ecx, 0xffffffff
je 0x1011d75b
mov edx, dword [esp + 0x10]
cmp ecx, dword [edx + 0x30]
jne 0x1011d72a
and edi, 0xfffff
mov edx, 0
jbe 0x1011d71b
lea ecx, [edi*4]
mov dword [esp + 0x20], ecx
lea esp, [esp]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx*4]
mov esi, dword [esp + 0x20]
mov ecx, dword [esi + ecx]
mov esi, dword [eax + 0xb4]
add dword [esp + 0x20], 4
mov dword [ecx + 0xb4], esi
mov esi, dword [eax + 0x60]
mov dword [ecx + 0x60], esi
mov esi, dword [eax + 0x64]
mov dword [ecx + 0x64], esi
mov esi, dword [eax + 0xa4]
mov dword [ecx + 0xa4], esi
mov esi, dword [eax + 0xa8]
mov dword [ecx + 0xa8], esi
mov eax, dword [eax + 0xac]
inc edx
mov dword [ecx + 0xac], eax
mov eax, dword [esp + 0x30]
cmp edx, edi
jb 0x1011d6c0
mov esi, dword [esp + 0x34]
and edi, 0xfffff
or edi, 0x50900000
mov dword [eax + 0x3c], edi
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x10]
inc esi
mov dword [esp + 0x34], esi
cmp esi, ecx
jb 0x1011d743
mov esi, ecx
xor eax, eax
mov dword [esp + 0x34], esi
jmp 0x1011d749
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + esi*4]
mov edx, dword [ebx + 8]
mov dword [esp + 0x30], eax
cmp esi, dword [edx + 0x10]
jb 0x1011d660
jmp 0x1011d7d8
push 0x1008c444
push 0
xor edx, edx
mov eax, ebx
call fcn.1010ad00
add esp, 8
mov edi, 0x80004005
jmp 0x1011dac1
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0x238]
mov esi, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [ebp + 0x14]
push edx
push eax
push ecx
push esi
push ebx
call fcn.1011b3c0
mov edi, eax
test edi, edi
jl 0x1011dac1
cmp dword [esp + 0x6c], 0
je 0x1011d7d8
cmp byte [esp + 0xf], 0
jne 0x1011d7d8
mov edx, dword [esi + 0x88]
push 0
push 0
push edx
mov ecx, ebx
call fcn.1012b6f0
mov edi, eax
test edi, edi
jl 0x1011dac1
cmp dword [esp + 0x1c], 0
je 0x1011d8c5
mov edi, dword [ebx + 8]
cmp dword [edi + 8], 0
jbe 0x1011d7f6
mov eax, dword [edi + 0x7f2c]
mov esi, dword [eax]
jmp 0x1011d7f8
xor esi, esi
cmp dword [edi + 8], 0
mov dword [esp + 0x34], 0
jbe 0x1011d8c5
lea ebx, [ebx]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x238], ecx
mov edx, eax
and edx, 0x2000
xor ecx, ecx
or ecx, edx
jne 0x1011d834
and eax, 0x4000
or ecx, eax
je 0x1011d893
cmp dword [esi + 0x24], 0
je 0x1011d893
mov edi, dword [edi + 0x8084]
mov edx, dword [esi + 0x70]
mov eax, dword [ebx + 0x1c]
mov ecx, dword [eax + edx*4]
push 0x11
push edi
push 0
push 0
lea edx, [esp + 0x28]
mov eax, edx
push edx
push eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], ecx
call fcn.100bef50
push eax
push ebx
mov eax, 0x80200001
call fcn.10121e80
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [esp + 0x18]
mov esi, dword [esi + 0x70]
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [esp + 0x34]
mov edi, dword [ebx + 8]
mov ecx, dword [edi + 8]
inc eax
mov dword [esp + 0x34], eax
cmp eax, ecx
jb 0x1011d8b0
mov eax, ecx
xor esi, esi
mov dword [esp + 0x34], eax
jmp 0x1011d8b9
mov ecx, dword [edi + 0x7f2c]
mov esi, dword [ecx + eax*4]
mov edx, dword [ebx + 8]
cmp eax, dword [edx + 8]
jb 0x1011d810
test byte [ebp + 0x14], 5
jne 0x1011d93e
mov eax, dword [esp + 0x108]
test eax, eax
je 0x1011d93e
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x30]
add ecx, ecx
add ecx, ecx
push ecx
mov ecx, dword [ebx + 0x1c]
lea edx, [ecx + edx*4]
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp dword [esi + 0x34], 0
mov dword [esp + 0x18], 0
jbe 0x1011d93e
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x30]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
lea esi, [edx + ecx]
mov edx, dword [eax + esi*4]
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [ecx + 0x34]
jb 0x1011d903
cmp dword [esp + 0x1c], 0
je 0x1011da94
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 0x1c]
cmp dword [eax + edx*4], 0xffffffff
lea eax, [eax + edx*4]
je 0x1011d9ba
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x10
xor ecx, ecx
or eax, ecx
jne 0x1011d9ba
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x8084]
mov eax, dword [esp + 0x10]
push 0x11
push ecx
push 0
push 0
lea edx, [esp + 0x28]
push edx
mov ecx, edx
add eax, 0x10
push ecx
push eax
push ebx
mov eax, 0x80200001
call fcn.10121e80
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [esp + 0x18]
mov esi, dword [ebx + 0x34]
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [ebx + 0x38]
mov eax, dword [ebx + 0x1c]
cmp dword [eax + edx*4], 0xffffffff
lea eax, [eax + edx*4]
je 0x1011da2b
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x10
xor ecx, ecx
or eax, ecx
jne 0x1011da2b
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x8084]
mov eax, dword [esp + 0x10]
push 0x11
push ecx
push 0
push 0
lea edx, [esp + 0x28]
push edx
mov ecx, edx
add eax, 0x10
push ecx
push eax
push ebx
mov eax, 0x80200001
call fcn.10121e80
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [esp + 0x18]
mov esi, dword [ebx + 0x38]
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [ebx + 0x40]
mov eax, dword [ebx + 0x1c]
cmp dword [eax + edx*4], 0xffffffff
lea eax, [eax + edx*4]
je 0x1011da94
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x50]
mov eax, dword [eax + 8]
and eax, 0x10
xor ecx, ecx
or eax, ecx
jne 0x1011da94
mov ecx, dword [ebx + 8]
mov ecx, dword [ecx + 0x8084]
mov eax, dword [esp + 0x10]
push 0x11
push ecx
push 0
push 0
lea edx, [esp + 0x28]
push edx
mov ecx, edx
add eax, 0x10
push ecx
push eax
push ebx
mov eax, 0x80200001
call fcn.10121e80
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [esp + 0x18]
mov esi, dword [ebx + 0x40]
mov eax, ebx
call fcn.1010b680
mov edi, eax
test edi, edi
jl 0x1011dac1
mov edx, dword [ebx + 8]
mov al, byte [edx + 0x7fd1]
test al, 0x40
je 0x1011dab9
test al, al
js 0x1011dab9
cmp dword [esp + 0x1c], 0
je 0x1011dab9
mov esi, ebx
call fcn.1011bd00
mov edi, eax
test edi, edi
jl 0x1011dac1
xor edi, edi
jmp 0x1011dac1
mov ebx, dword [esp + 0x14]
mov al, byte [esp + 0x2a]
mov dl, byte [esp + 0x2f]
mov cl, byte [esp + 0x2e]
mov esi, dword [ebx + 0x88]
mov byte [ebx + 0x11c], al
mov byte [ebx + 0x11e], dl
mov edx, dword [esp + 0x78]
mov eax, ebx
mov byte [ebx + 0x11d], cl
call fcn.1010b680
test edi, edi
jl 0x1011dafa
test eax, eax
jge 0x1011dafa
mov edi, eax
mov esi, dword [ebx + 0x9c]
mov edx, dword [esp + 0x74]
mov eax, ebx
call fcn.1010b680
test edi, edi
jl 0x1011db15
test eax, eax
jge 0x1011db15
mov edi, eax
mov esi, dword [ebx + 0xa0]
mov edx, dword [esp + 0x7c]
mov eax, ebx
call fcn.1010b680
test edi, edi
jl 0x1011db30
test eax, eax
jge 0x1011db30
mov edi, eax
mov esi, dword [ebx + 0x94]
mov edx, dword [esp + 0x44]
mov eax, ebx
call fcn.1010b680
test edi, edi
jl 0x1011db4b
test eax, eax
jge 0x1011db4b
mov edi, eax
cmp dword [esp + 0x6c], 0
mov al, byte [esp + 0x2c]
mov cl, byte [esp + 0x2d]
mov edx, dword [esp + 0xe0]
mov byte [ebx + 0xf0], al
mov eax, dword [esp + 0x10c]
mov byte [ebx + 0xf3], cl
mov ecx, dword [esp + 0xf4]
mov dword [esp + 0x44], edi
mov dword [ebx + 0x10c], edx
mov dword [ebx + 0x108], eax
mov dword [ebx + 0x104], ecx
jne 0x1011dbad
mov esi, dword [ebx + 0x38]
mov edx, dword [esp + 0x70]
mov eax, ebx
call fcn.1010b680
test edi, edi
jl 0x1011dba9
test eax, eax
jge 0x1011dba9
mov edi, eax
mov dword [esp + 0x44], edi
cmp byte [esp + 0x2b], 0
je 0x1011dbbf
mov eax, dword [esp + 0x10]
and byte [eax + 0xb4], 0xfb
lea edi, [esp + 0x1b0]
call fcn.10117760
lea esi, [esp + 0x1d8]
call fcn.10118ed0
lea edi, [esp + 0x1ec]
call fcn.10117760
lea esi, [esp + 0x214]
call fcn.10118ed0
lea edi, [esp + 0x174]
call fcn.10117760
lea esi, [esp + 0x19c]
call fcn.10118ed0
lea esi, [esp + 0x110]
call fcn.100da650
lea esi, [esp + 0x120]
call fcn.100da650
lea esi, [esp + 0xe4]
call fcn.100da650
lea esi, [esp + 0x130]
call fcn.100da650
lea esi, [esp + 0x80]
call fcn.100da650
lea esi, [esp + 0xf8]
call fcn.100da650
lea esi, [esp + 0x90]
call fcn.100da650
mov ecx, dword [esp + 0x24c]
mov eax, dword [esp + 0x44]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.101dc51a
mov esp, ebp
pop ebp
ret 0x10