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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xfc
mov eax, dword [ebp + 0xc]
xor ecx, ecx
push ebx
mov ebx, dword [eax + 0x50]
mov eax, dword [ebp + 0x20]
push esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x38], edx
mov edx, dword [ebp + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 8]
and esi, 1
push edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], esi
je 0x10119769
mov edi, dword [ebp + 0x14]
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x6c]
push edx
push eax
mov ecx, 4
xor esi, esi
call fcn.100db050
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov edx, dword [ebp + 8]
xor ecx, ecx
or edi, 0xffffffff
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], ecx
cmp ebx, ecx
je 0x1011a69d
cmp dword [ebx + 4], 2
jne 0x1011a69d
mov eax, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x6c]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x68]
mov dword [esp + 0x2c], ecx
mov ecx, eax
xor esi, esi
and ecx, 0x1f000
mov byte [esp + 0x13], 0
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], esi
cmp dword [esp + 0x38], esi
je 0x1011a374
test byte [ebp + 0x10], 2
je 0x101197df
mov ecx, eax
and ecx, 0x40
xor edx, edx
or ecx, edx
jne 0x1011a374
mov edi, dword [ebp + 8]
mov edx, dword [edi + 8]
mov eax, dword [edx + 0x8020]
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x64], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x50], esi
mov byte [esp + 0x1b], 0
cmp eax, esi
jne 0x1011980b
xor cl, cl
jmp 0x10119826
mov ecx, eax
lea ecx, [ecx]
cmp ecx, esi
je 0x1011981f
cmp dword [ecx + 4], 0xa
jne 0x1011981f
mov ecx, dword [ecx + 0x20]
jmp 0x10119810
cmp dword [ecx + 4], 5
sete cl
mov byte [esp + 0x27], cl
mov byte [esp + 0x58], 0
test cl, cl
jne 0x10119892
cmp eax, esi
je 0x10119900
mov ecx, 0xa
cmp eax, esi
je 0x1011984e
cmp dword [eax + 4], ecx
jne 0x1011984e
mov eax, dword [eax + 0x20]
jmp 0x10119840
cmp dword [eax + 4], 7
sete al
test al, al
je 0x10119900
mov ecx, dword [ebx + 0x48]
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
lea eax, [esp + 0xa0]
push eax
call edx
cmp eax, esi
mov dword [esp + 0x14], eax
jl 0x1011ab56
mov eax, dword [esp + 0xa0]
push 5
call fcn.1010b520
test al, al
je 0x10119900
mov byte [esp + 0x58], 1
mov eax, dword [edi + 8]
test byte [eax + 0x7fd1], 0x40
jne 0x1011a616
mov eax, dword [esp + 0x58]
mov esi, dword [ebp + 8]
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x24]
push edx
push eax
lea edi, [esp + 0x70]
call fcn.10107ed0
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov dword [esp + 0x50], 4
mov edi, esi
xor esi, esi
mov dword [esp + 0x28], esi
cmp dword [ebx + 0x34], esi
jbe 0x10119a74
mov eax, esi
mov esi, dword [ebx + 0x30]
mov ecx, dword [edi + 0x1c]
add esi, eax
cmp dword [ecx + esi*4], 0xffffffff
je 0x10119a09
mov eax, 0x8007054f
jmp 0x10119a56
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x68]
mov dword [esp + 0x2c], eax
mov eax, ecx
and eax, 0x40
xor edx, edx
or eax, edx
je 0x101199bf
mov eax, dword [edi + 8]
test byte [eax + 0x7fd3], 0x10
je 0x10119931
mov ecx, dword [eax + 0x802c]
mov dword [esp + 0x20], ecx
jmp 0x1011993b
mov edx, dword [eax + 0x8028]
mov dword [esp + 0x20], edx
mov eax, dword [ebx + 0xc]
cmp byte [eax], 0x24
mov dword [esp + 0x28], eax
je 0x101199b5
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10119950
sub eax, edx
lea ecx, [eax + 2]
mov eax, dword [edi]
push 1
mov dword [esp + 0x18], ecx
push ecx
lea ecx, [eax + 0x30]
call fcn.101d8457
mov esi, eax
test esi, esi
je 0x1011a673
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
push eax
push 0x1008b960
push ecx
push esi
call fcn.100b4010
mov edx, dword [edi]
mov eax, dword [ebx + 0x4c]
add esp, 0x10
push edx
push 0
push esi
push eax
push ebx
call fcn.1010ff00
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov byte [esp + 0x1b], 1
jmp 0x101198d3
mov byte [esp + 0x1b], 1
jmp 0x101198d5
mov eax, ecx
and eax, 0x10
xor edx, edx
or eax, edx
je 0x101199dc
mov ecx, dword [edi + 8]
mov edx, dword [ecx + 0x8038]
mov dword [esp + 0x20], edx
jmp 0x101198d5
and ecx, 0x20
xor eax, eax
or ecx, eax
je 0x101198d5
push esi
push esi
push 0xffffff
push ebx
mov ecx, edi
call fcn.101038c0
cmp eax, esi
mov dword [esp + 0x14], eax
jl 0x1011ab56
jmp 0x10119af4
mov edx, dword [esp + 0x20]
mov ecx, dword [edi + 8]
push 0x11
push 0
push 0
push edx
lea eax, [esp + 0xc4]
push eax
push ecx
call fcn.10169c20
test eax, eax
jl 0x10119a56
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0x28]
mov dword [edx + 0x70], esi
mov dword [edx + 0x8c], ebx
mov dword [edx + 0x90], eax
mov dword [edx + 0x9c], eax
mov eax, edi
call fcn.1010b680
test eax, eax
jl 0x10119a56
xor eax, eax
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [ebx + 0x34]
jb 0x101198e4
mov ecx, dword [ebx + 0x48]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0xc8]
push eax
call edx
test byte [eax + 2], 4
je 0x10119aab
mov eax, dword [ebx + 0x30]
mov ecx, dword [edi + 0x1c]
mov edx, dword [ecx + eax*4]
lea esi, [eax + 1]
mov eax, edi
call fcn.1010b680
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x20]
cmp dword [edx + 0x8020], eax
je 0x10119ade
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x30]
mov edx, dword [edi + 0x1c]
push eax
lea eax, [edx + ecx*4]
mov ecx, dword [ebx + 0x48]
push eax
push ecx
push edi
call fcn.10108de0
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
cmp byte [esp + 0x27], 0
jne 0x1011a22b
cmp byte [esp + 0x58], 0
jne 0x1011a22b
mov ecx, dword [ebx + 0x68]
mov edx, dword [ebx + 0x6c]
mov eax, ecx
mov dword [esp + 0x2c], edx
and eax, 0x40
xor edx, edx
or eax, edx
jne 0x1011a22b
and ecx, 0x10
or ecx, eax
je 0x1011a5cf
mov eax, dword [esp + 0x4c]
mov ecx, dword [ebx + 0x48]
mov edx, dword [ecx]
mov esi, dword [esp + 0x48]
mov edx, dword [edx + 0x28]
mov dword [esp + 0x84], eax
lea eax, [esp + 0x5c]
push eax
mov dword [esp + 0x84], esi
call edx
mov eax, dword [edi + 8]
mov cl, byte [eax + 0x7fd1]
test cl, 8
je 0x10119bfe
mov edx, esi
or edx, dword [esp + 0x4c]
je 0x10119bfe
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x10119b9e
cmp eax, esi
jne 0x10119b76
cmp ecx, dword [esp + 0x4c]
je 0x10119b9e
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
push ecx
lea edx, [ebx + 0x10]
push 0x1008b968
push edx
mov edx, 0xdba
mov eax, edi
call fcn.1010ad00
add esp, 0x10
mov byte [esp + 0x13], 1
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x68]
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [ebp + 0x18]
push edx
mov edx, dword [ebx + 0x74]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [ebx + 0x30]
push ecx
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x90], eax
lea edx, [ecx + edx*4]
lea eax, [ebx + 0x10]
push edx
push eax
mov dword [esp + 0x94], esi
xor esi, esi
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x48]
push edi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
call fcn.10125480
cmp eax, esi
mov dword [esp + 0x14], eax
jl 0x1011ab56
mov esi, dword [ebp + 8]
jmp 0x10119f73
mov edx, dword [esp + 0x5c]
test cl, 0x40
je 0x10119c0c
test dh, 8
jne 0x10119c26
test dh, 0x10
je 0x10119f21
test cl, cl
js 0x10119c26
test byte [eax + 0x7fd2], 1
je 0x10119f21
mov esi, eax
xor eax, eax
lea edx, [eax + 3]
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], eax
push 1
lea eax, [esp + 0xd0]
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], 0xa
call fcn.10117650
mov eax, 0x14
call fcn.10118f40
mov edi, eax
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, 4
push esi
lea esi, [ecx + 6]
call fcn.100db050
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011a680
mov eax, dword [esp + 0x90]
mov ecx, edi
lea edx, [esp + 0xcc]
call fcn.10117950
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011a680
test byte [esp + 0x5d], 8
mov esi, dword [ebp + 8]
je 0x10119da3
cmp dword [esp + 0x8c], 0
je 0x10119cf0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xc]
push eax
lea eax, [ebx + 0x10]
push 0x1008b9c4
push eax
mov edx, 0xe4a
mov eax, esi
call fcn.1010ad00
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x10119d04
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x80c0]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x20], edx
mov eax, dword [esi + 8]
test byte [eax + 0x7fd1], 0x80
mov eax, dword [ebx + 0x48]
je 0x10119d83
call fcn.100bef60
mov edi, eax
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x801c]
test eax, eax
je 0x10119d5b
mov edx, dword [edi]
push eax
mov eax, dword [edx + 0x30]
mov ecx, edi
call eax
test al, al
jne 0x10119d5b
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0xc]
push eax
lea edx, [ebx + 0x10]
push 0x1008b9f8
push edx
mov edx, 0xe4b
mov eax, esi
call fcn.1010ad00
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x10119da3
mov eax, dword [esi + 8]
cmp dword [eax + 0x801c], 0
jne 0x10119da3
mov ecx, eax
mov dword [ecx + 0x801c], edi
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x801c]
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x8014], ecx
jmp 0x10119da3
call fcn.100bef60
mov edx, dword [esi + 8]
mov dword [edx + 0x801c], eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x801c]
mov edx, dword [ecx + 0x1c]
mov dword [eax + 0x8014], edx
test byte [esp + 0x5d], 0x10
je 0x10119ec4
cmp dword [esp + 0x88], 0
mov edi, dword [ebp + 0xc]
je 0x10119dde
mov eax, dword [edi + 0xc]
push eax
lea eax, [ebx + 0x10]
push 0x1008ba68
push eax
mov edx, 0xe4a
mov eax, esi
call fcn.1010ad00
add esp, 0xc
mov byte [esp + 0x13], 1
jmp 0x10119df2
mov ecx, dword [esi + 8]
mov edx, dword [ecx + 0x80c4]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x20], edx
mov eax, dword [esi + 8]
test byte [eax + 0x7fd1], 0x40
je 0x10119e98
mov ecx, dword [eax + 0x8018]
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x10119e98
mov eax, dword [ebx + 0x48]
call fcn.100bef60
mov dword [esp + 0x64], eax
mov eax, dword [eax + 0x18]
call fcn.100bef60
test eax, eax
je 0x10119e5f
mov ecx, dword [esp + 0x50]
mov edx, dword [eax]
mov edx, dword [edx + 0x30]
push ecx
mov ecx, eax
call edx
test al, al
jne 0x10119e5f
mov eax, dword [edi + 0xc]
push eax
lea eax, [ebx + 0x10]
push 0x1008ba98
push eax
mov edx, 0xe4b
mov eax, esi
call fcn.1010ad00
add esp, 0xc
mov byte [esp + 0x13], 1
mov ecx, dword [esp + 0x64]
mov edx, dword [esi + 8]
mov ecx, dword [ecx + 0x1c]
mov edx, dword [edx + 0x8010]
cmp ecx, edx
je 0x10119ec4
mov eax, dword [edi + 0xc]
push ecx
push edx
push eax
lea eax, [ebx + 0x10]
push 0x1008bb10
push eax
mov edx, 0xe4b
mov eax, esi
call fcn.1010ad00
add esp, 0x14
mov byte [esp + 0x13], 1
jmp 0x10119ec4
test byte [eax + 0x7fd2], 1
je 0x10119ec4
mov eax, dword [ebx + 0x48]
call fcn.100bef60
mov ecx, dword [esi + 8]
mov dword [ecx + 0x8018], eax
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x8018]
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x8010], ecx
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x68]
push edx
push ecx
mov ecx, dword [ebx + 0x74]
lea edx, [esp + 0xd4]
push edx
mov edx, dword [esp + 0x2c]
push ecx
mov ecx, dword [ebx + 0x30]
push edx
mov edx, dword [esi + 0x1c]
lea ecx, [edx + ecx*4]
lea eax, [ebx + 0x10]
push ecx
push eax
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x48]
push esi
call fcn.10125480
mov dword [esp + 0x14], eax
test eax, eax
lea eax, [esp + 0xcc]
jl 0x1011a687
call fcn.101176a0
lea esi, [esp + 0x90]
call fcn.100da650
mov esi, dword [ebp + 8]
jmp 0x10119f73
mov edx, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x68]
mov edi, dword [ebp + 8]
push 0
push 0
push edx
mov edx, dword [ebx + 0x70]
push ecx
mov ecx, dword [ebx + 0x74]
push edx
mov edx, dword [esp + 0x34]
push ecx
mov ecx, dword [ebx + 0x30]
push edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x1c]
lea ecx, [edx + ecx*4]
mov edx, dword [esp + 0x38]
mov esi, dword [edx + 0x48]
lea eax, [ebx + 0x10]
mov ebx, dword [ebp + 0x18]
push ecx
push eax
mov dword [esp + 0x4c], eax
call fcn.10125380
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov ebx, dword [esp + 0x1c]
mov esi, edi
mov eax, dword [ebx + 0x30]
mov ecx, dword [esi + 0x1c]
cmp dword [ecx + eax*4], 0xffffffff
mov edi, dword [esp + 0x28]
lea eax, [ecx + eax*4]
je 0x1011a000
mov edx, dword [eax]
mov eax, dword [edx + 0x4c]
test byte [eax*4 + 0x101e0f12], 1
je 0x1011a000
mov eax, dword [ebx + 0x68]
and eax, 0x20
xor ecx, ecx
or eax, ecx
jne 0x10119fc6
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
push ecx
push 0x1008bb68
push edi
mov edx, 0xdba
mov eax, esi
call fcn.1010ad00
add esp, 0x10
mov byte [esp + 0x13], 1
mov edx, dword [esi + 8]
test byte [edx + 0x7fd1], 8
jne 0x1011a5cf
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
push ecx
push 0x1008bba8
push edi
mov edx, 0xdba
mov eax, esi
call fcn.1010ad00
add esp, 0x10
mov byte [esp + 0x13], 1
jmp 0x1011a5cf
mov eax, dword [esp + 0x5c]
test ah, 8
je 0x1011a023
mov edx, dword [esi + 8]
test byte [edx + 0x7fd1], 0x40
jne 0x1011a023
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
push eax
push 0x1008bbf0
jmp 0x1011a04e
test ah, 0x10
je 0x1011a063
mov ecx, dword [esi + 8]
mov al, byte [ecx + 0x7fd1]
test al, 0x40
je 0x1011a039
test al, al
js 0x1011a063
test byte [ecx + 0x7fd2], 1
jne 0x1011a063
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0xc]
push eax
push 0x1008bc30
push edi
mov edx, 0xe4a
mov eax, esi
call fcn.1010ad00
mov byte [esp + 0x1f], 1
add esp, 0xc
cmp dword [ebx + 0x34], 0
mov byte [esp + 0x1b], 1
mov dword [esp + 0x40], 0
jbe 0x1011a0de
mov edx, dword [ebx + 0x30]
mov eax, dword [esi + 0x1c]
lea ecx, [eax + edx*4]
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x20]
cmp dword [edx], 0xffffffff
je 0x1011a0c0
mov eax, edx
mov edx, dword [eax]
mov eax, dword [edx + 0x50]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x54], eax
mov eax, ecx
and eax, 0x10
xor edi, edi
or eax, edi
je 0x1011a0c0
and ecx, 0x200
xor eax, eax
or ecx, eax
jne 0x1011a0c0
cmp dword [edx + 0xa4], ecx
jne 0x1011a0c0
mov byte [esp + 0x1b], cl
mov eax, dword [esp + 0x40]
add dword [esp + 0x20], 4
inc eax
mov dword [esp + 0x40], eax
cmp eax, dword [ebx + 0x34]
jb 0x1011a083
cmp byte [esp + 0x1b], 0
je 0x1011a1fd
mov esi, dword [ebx + 0x74]
test esi, esi
je 0x1011a15c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
test byte [edx + 0x7fd1], 8
je 0x1011a11a
mov edx, dword [esi + 0x24]
mov ebx, 0x10086848
call fcn.10109d30
test al, al
jne 0x1011a116
mov edx, dword [esi + 0x24]
mov ebx, 0x100885e8
call fcn.10109d30
test al, al
je 0x1011a158
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
je 0x1011a1d2
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [ebp + 8]
push ecx
push 0x1008bc9c
push edx
mov edx, 0xdba
call fcn.1010ad00
add esp, 0x10
jmp 0x1011a1d2
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
test byte [ecx + 0x7fd1], 8
je 0x1011a1d2
mov eax, dword [esp + 0x80]
or eax, dword [esp + 0x84]
jne 0x1011a1a5
mov eax, dword [ebx + 0xc]
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0xc]
push eax
mov eax, dword [esp + 0x2c]
push ecx
push 0x1008bcd8
push eax
mov eax, dword [ebp + 8]
mov edx, 0xdba
call fcn.1010ad00
add esp, 0x10
mov byte [esp + 0x13], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
test byte [edx + 0x7fd1], 8
je 0x1011a1d2
mov eax, dword [ebx + 0x34]
push eax
mov eax, dword [ebx + 0x30]
mov edi, ecx
mov ecx, dword [edi + 0x1c]
lea edx, [ecx + eax*4]
push edx
call fcn.10109df0
test al, al
jne 0x1011a1d2
mov byte [esp + 0x13], 1
xor eax, eax
cmp dword [ebx + 0x34], eax
jbe 0x1011a5cf
mov ecx, dword [esp + 0x34]
mov edx, dword [ebx + 0x30]
mov esi, dword [esp + 0x68]
add edx, eax
mov dword [esi + ecx*4], edx
inc eax
inc ecx
cmp eax, dword [ebx + 0x34]
jb 0x1011a1e1
mov dword [esp + 0x34], ecx
jmp 0x1011a5cf
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esp + 0x28]
push eax
push ecx
push 0x1008bd14
push edx
mov edx, 0xdae
mov eax, esi
call fcn.1010ad00
add esp, 0x10
mov byte [esp + 0x13], 1
jmp 0x1011a5cf
cmp byte [esp + 0x27], 0
mov dword [esp + 0x28], 0
jne 0x1011a259
cmp byte [esp + 0x58], 0
jne 0x1011a259
mov eax, dword [edi + 8]
mov cl, byte [eax + 0x7fd3]
and cl, 0x10
movzx eax, cl
neg eax
sbb eax, eax
and eax, dword [ebp + 0x1c]
jmp 0x1011a25d
mov eax, dword [esp + 0x40]
mov ecx, dword [ebx + 0x70]
mov edi, dword [ebp + 8]
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x24]
push 1
push 0
push 0
push ecx
mov ecx, dword [ebx + 0x30]
push 0
push edx
mov edx, dword [ebp + 8]
mov edx, dword [edx + 0x1c]
lea ecx, [edx + ecx*4]
mov edx, dword [esp + 0x38]
mov esi, dword [edx + 0x48]
push ecx
add ebx, 0x10
push ebx
mov ebx, eax
call fcn.10125380
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 0x30]
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [ebx + 8]
test byte [ecx + 0x7fd3], 0x10
mov eax, dword [edx + 0x50]
je 0x1011a329
cmp dword [eax + 0x18], 0xffffffff
je 0x1011a329
mov edx, dword [eax + 0x18]
mov eax, dword [edi + 0x30]
mov ecx, dword [ebx + 0x1c]
mov esi, dword [edi + 0x34]
add esi, eax
mov dword [esp + 0x20], edx
mov edx, dword [ecx + eax*4]
mov eax, dword [edx + 0xb4]
mov ecx, dword [ecx + esi*4 - 4]
mov edx, dword [edx + 0x64]
lea esi, [edx + eax*4]
mov dword [esp + 0x40], esi
mov esi, dword [ecx + 0xb4]
sub esi, eax
mov eax, dword [ecx + 0x64]
mov ecx, dword [edi + 0xc]
lea eax, [eax + esi*4]
sub eax, edx
inc eax
cmp byte [esp + 0x1b], 0
je 0x1011a310
cmp byte [ecx], 0x24
jne 0x1011a310
inc ecx
mov edx, dword [esp + 0x28]
push edx
push edi
push ecx
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + 0x44]
push eax
mov eax, dword [esp + 0x50]
push eax
call fcn.101174e0
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x1011a357
mov edx, dword [esp + 0x50]
mov eax, dword [edi + 0x34]
push edi
push ecx
mov ecx, dword [edi + 0x30]
push edx
mov edx, dword [ebx + 0x1c]
lea ecx, [edx + ecx*4]
push ecx
push ebx
call fcn.10107fd0
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
push ebx
mov esi, edi
call fcn.10127080
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov ebx, dword [esp + 0x1c]
jmp 0x1011a5cf
mov edi, dword [ebp + 8]
and eax, 0x4000000
xor ecx, ecx
or eax, ecx
je 0x1011a38a
cmp dword [edi + 0x124], esi
jne 0x1011a3c5
push 1
push esi
push 0xffffff
push ebx
mov ecx, edi
call fcn.101038c0
cmp eax, esi
mov dword [esp + 0x14], eax
jl 0x1011ab56
push 0
push 0
push 0xffffff
push ebx
mov ecx, edi
call fcn.101038c0
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
xor esi, esi
cmp dword [esp + 0x3c], esi
je 0x1011a635
mov eax, dword [ebx + 0x68]
and eax, 0x10
xor ecx, ecx
or eax, ecx
je 0x1011a5c4
mov ecx, dword [ebx + 0x34]
cmp ecx, esi
jbe 0x1011a3f4
mov edi, dword [esp + 0x30]
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp + 8]
xor esi, esi
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 8]
mov dword [esp + 0x14], esi
mov dword [esp + 0x50], eax
cmp eax, esi
je 0x1011a4c6
mov eax, dword [ebx + 0x68]
and eax, 0x4000000
xor ecx, ecx
or eax, ecx
je 0x1011a454
cmp dword [edi + 0x124], esi
je 0x1011a454
cmp dword [ebx + 0x34], 4
jne 0x1011a635
mov ecx, dword [edi + 0x124]
mov eax, dword [esp + 0x30]
mov dword [eax], ecx
mov edx, dword [edi + 0x128]
mov dword [eax + 4], edx
mov ecx, dword [edi + 0x12c]
mov dword [eax + 8], ecx
mov edx, dword [edi + 0x130]
mov dword [eax + 0xc], edx
jmp 0x1011a4c6
mov esi, dword [ebx + 0x34]
mov eax, ebx
call fcn.101100d0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x50]
movzx eax, al
push eax
push 0
push 0
push ecx
push esi
push edx
mov ecx, edi
call fcn.1011f110
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov eax, ebx
call fcn.101100d0
test al, al
je 0x1011a4c6
mov eax, dword [esp + 0x30]
push esi
push eax
push 0
push 0
push edi
call fcn.101091d0
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx + 0x30]
push ecx
push esi
push edi
call fcn.1010b480
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
cmp dword [ebx + 0x34], 0
mov dword [esp + 0x1c], 0
jbe 0x1011a5c4
jmp 0x1011a4e0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x1c]
mov esi, dword [edx + eax*4]
cmp esi, 0xffffffff
je 0x1011a5b2
mov ecx, dword [esi + 0x4c]
test byte [ecx*4 + 0x101e0f12], 1
je 0x1011a5b2
cmp dword [esi + 0x88], 0xffffffff
je 0x1011a542
mov eax, dword [edx + eax*4]
mov ecx, dword [eax + 0x88]
call fcn.100db380
cmp eax, 0xffffffff
je 0x1011a542
mov ecx, dword [eax + 0x70]
mov edx, dword [edi + 0x1c]
mov esi, dword [esi + 0x70]
mov edx, dword [edx + ecx*4 + 4]
inc esi
mov eax, edi
call fcn.1010b680
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov eax, dword [ebx + 0x68]
and eax, 0x20
xor ecx, ecx
or eax, ecx
jne 0x1011a57a
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
push ecx
push 0x1008bd44
mov eax, ebx
call fcn.100bef50
push eax
mov edx, 0xdba
mov eax, edi
call fcn.1010ad00
add esp, 0x10
mov byte [esp + 0x13], 1
mov edx, dword [edi + 8]
test byte [edx + 0x7fd1], 8
jne 0x1011a5b2
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
push ecx
push 0x1008bba8
mov eax, ebx
call fcn.100bef50
push eax
mov edx, 0xdba
mov eax, edi
call fcn.1010ad00
add esp, 0x10
mov byte [esp + 0x13], 1
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
cmp eax, dword [ebx + 0x34]
jb 0x1011a4e0
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 0xc]
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x38], 0
jne 0x1011a5e5
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
test byte [edx + 0x7fd1], 8
jne 0x1011a5ef
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x4c]
jne 0x1011a642
cmp byte [esp + 0x13], 0
jne 0x1011a666
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx + 0x34]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x78]
lea edx, [ecx + eax*4]
mov dword [esp + 0x30], edx
mov edx, dword [ebp + 8]
xor ecx, ecx
jmp 0x10119782
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0xc]
push eax
push 0x1008b8f8
add ebx, 0x10
push ebx
mov edx, 0xdac
mov eax, edi
call fcn.1010ad00
add esp, 0xc
mov dword [esp + 0x14], 0x80004005
jmp 0x1011ab56
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx + 0xc]
push eax
mov eax, dword [ebp + 8]
push ecx
push 0x1008bc9c
add ebx, 0x10
push ebx
mov edx, 0xdba
call fcn.1010ad00
add esp, 0x10
mov dword [esp + 0x14], 0x80004005
jmp 0x1011ab56
mov dword [esp + 0x14], 0x8007000e
jmp 0x1011ab56
lea eax, [esp + 0xcc]
call fcn.101176a0
lea esi, [esp + 0x90]
call fcn.100da650
jmp 0x1011ab56
cmp dword [esp + 0x38], ecx
je 0x1011a738
mov eax, dword [edx + 8]
test byte [eax + 0x7fd1], 8
je 0x1011a738
xor eax, eax
xor esi, esi
cmp dword [esp + 0x7c], ecx
ja 0x1011a724
jb 0x1011a6cb
cmp edi, 0x10000
ja 0x1011a724
cmp edi, 0x4000
ja 0x1011a700
je 0x1011a6f7
cmp edi, 0x1000
je 0x1011a6ee
cmp edi, 0x2000
jne 0x1011a724
mov eax, 2
mov esi, eax
jmp 0x1011a724
mov eax, 1
mov esi, eax
jmp 0x1011a724
mov eax, 3
mov esi, eax
jmp 0x1011a724
cmp edi, 0x8000
je 0x1011a71a
cmp edi, 0x10000
jne 0x1011a724
mov eax, 7
lea esi, [eax - 1]
jmp 0x1011a724
mov eax, 6
mov esi, 4
mov edi, dword [edx + 8]
mov dword [edi + 0x7fe4], eax
mov edx, dword [edx + 8]
mov dword [edx + 0x7fe8], esi
jmp 0x1011a745
mov eax, dword [edx + 8]
mov dword [eax + 0x7fe8], 0xffffffff
cmp dword [esp + 0x38], ecx
je 0x1011ab56
mov esi, dword [ebp + 8]
mov ebx, dword [esp + 0x68]
xor edi, edi
cmp dword [esp + 0x34], edi
jbe 0x1011a78c
mov ecx, dword [ebx + edi*4]
mov edx, dword [esi + 0x1c]
mov eax, dword [edx + ecx*4]
cmp dword [eax + 0xa4], 0
je 0x1011a785
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
push 1
push eax
mov eax, dword [edx + 4]
call eax
test eax, eax
jl 0x1011a635
inc edi
cmp edi, dword [esp + 0x34]
jb 0x1011a75e
mov edi, dword [esp + 0x34]
push esi
push 0x1010ae90
mov eax, edi
mov esi, ebx
call fcn.100dabb0
mov dword [esp + 0x1c], 0
test edi, edi
je 0x1011ab56
mov ecx, dword [esp + 0x68]
mov edx, dword [ebp + 8]
mov eax, dword [ecx]
mov ecx, dword [edx + 0x1c]
mov edx, dword [ecx + eax*4]
mov edi, 1
mov dword [esp + 0x44], ecx
cmp dword [esp + 0x34], edi
jbe 0x1011ab56
jmp 0x1011a7e4
mov ecx, dword [esp + 0x44]
cmp dword [edx + 0xa4], 0
mov eax, dword [esp + 0x68]
mov eax, dword [eax + edi*4]
mov ecx, dword [ecx + eax*4]
mov esi, dword [edx + 0x50]
mov eax, dword [ecx + 0x50]
je 0x1011a85e
cmp dword [ecx + 0xa4], 0
je 0x1011a85e
mov ebx, dword [edx + 0xa8]
cmp ebx, dword [ecx + 0xa8]
jne 0x1011a85e
mov ebx, dword [edx + 0x64]
cmp ebx, dword [ecx + 0x64]
jne 0x1011a85e
mov ebx, dword [edx + 0xb4]
cmp ebx, dword [ecx + 0xb4]
jne 0x1011a85e
mov ebx, dword [edx + 0x54]
cmp ebx, dword [ecx + 0x54]
jne 0x1011a85e
mov ebx, dword [edx + 0x40]
cmp ebx, dword [ecx + 0x40]
jne 0x1011a85e
mov ebx, dword [edx + 0x44]
cmp ebx, dword [ecx + 0x44]
jne 0x1011a85e
mov eax, dword [eax + 0xc]
xor eax, dword [esi + 0xc]
xor esi, esi
and eax, 0x1800
or esi, eax
jne 0x1011a85e
mov ebx, dword [esp + 0x1c]
inc ebx
mov dword [esp + 0x1c], ebx
jmp 0x1011a864
mov ebx, dword [esp + 0x1c]
mov edx, ecx
inc edi
cmp edi, dword [esp + 0x34]
jb 0x1011a7e0
test ebx, ebx
je 0x1011ab56
cmp ebx, 0x3ffffffd
jbe 0x1011a886
mov eax, 0x80070216
jmp 0x1011a8fa
lea eax, [ebx*4]
test eax, eax
jne 0x1011a896
mov eax, 4
mov esi, dword [esp + 0x60]
add esi, 0x8158
mov dword [esp + 0xb0], eax
mov edi, eax
test eax, eax
ja 0x1011a8b2
mov edi, 1
mov eax, dword [esi]
test eax, eax
je 0x1011a8c2
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp edi, ecx
jbe 0x1011a8d1
mov ecx, edi
call fcn.100daf50
test eax, eax
je 0x1011a8d1
xor eax, eax
jmp 0x1011a8e5
mov ecx, dword [esi]
test ecx, ecx
je 0x1011a8e0
mov edx, dword [ecx + 8]
lea eax, [edx + ecx + 0x10]
jmp 0x1011a8e2
xor eax, eax
add dword [ecx + 8], edi
mov dword [esp + 0xa4], eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
cmp ebx, 0x3ffffffd
jbe 0x1011a915
mov eax, 0x80070216
jmp 0x1011a989
lea eax, [ebx*4]
test eax, eax
jne 0x1011a925
mov eax, 4
mov esi, dword [esp + 0x60]
add esi, 0x8158
mov dword [esp + 0xc4], eax
mov edi, eax
test eax, eax
ja 0x1011a941
mov edi, 1
mov eax, dword [esi]
test eax, eax
je 0x1011a951
mov ecx, dword [eax + 0xc]
sub ecx, dword [eax + 8]
cmp edi, ecx
jbe 0x1011a960
mov ecx, edi
call fcn.100daf50
test eax, eax
je 0x1011a960
xor eax, eax
jmp 0x1011a974
mov ecx, dword [esi]
test ecx, ecx
je 0x1011a96f
mov edx, dword [ecx + 8]
lea eax, [edx + ecx + 0x10]
jmp 0x1011a971
xor eax, eax
add dword [ecx + 8], edi
mov dword [esp + 0xb8], eax
neg eax
sbb eax, eax
and eax, 0x7ff8fff2
add eax, 0x8007000e
mov dword [esp + 0x14], eax
test eax, eax
jl 0x1011ab56
mov eax, dword [esp + 0x68]
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1c]
mov ebx, dword [edx + eax*4]
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xa4]
sub eax, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x3c], 1
mov dword [esp + 0x38], edx
mov dword [esp + 0x44], eax
cmp dword [ebx + 0xa4], 0
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x3c]
mov edi, dword [eax + edx*4]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + edi*4]
mov esi, dword [ebx + 0x50]
je 0x1011aafe
cmp dword [eax + 0xa4], 0
je 0x1011aafe
mov edx, dword [ebx + 0xa8]
cmp edx, dword [eax + 0xa8]
jne 0x1011aafe
mov edx, dword [ebx + 0x64]
cmp edx, dword [eax + 0x64]
jne 0x1011aafe
mov edx, dword [ebx + 0x54]
cmp edx, dword [eax + 0x54]
jne 0x1011aafe
mov edx, dword [ebx + 0xb4]
cmp edx, dword [eax + 0xb4]
jne 0x1011aafe
mov edx, dword [ebx + 0x40]
cmp edx, dword [eax + 0x40]
jne 0x1011aafe
mov edx, dword [ebx + 0x44]
cmp edx, dword [eax + 0x44]
jne 0x1011aafe
mov edx, dword [eax + 0x50]
mov edx, dword [edx + 0xc]
xor edx, dword [esi + 0xc]
xor esi, esi
and edx, 0x1800
or esi, edx
jne 0x1011aafe
mov edx, dword [ecx + 0x1c]
mov esi, dword [edx + edi*4]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x44]
mov dword [edi + edx], esi
mov esi, dword [ecx + 0x1c]
mov edi, dword [esp + 0x50]
mov esi, dword [esi + edi*4]
mov dword [edx], esi
mov edx, dword [ecx + 8]
mov edx, dword [edx + 0x8020]
mov esi, dword [eax + 0x50]
cmp esi, edx
je 0x1011aaf3
test esi, esi
je 0x1011aaca
cmp esi, 0xffffffff
je 0x1011aaca
mov edi, dword [eax + 4]
test edi, edi
je 0x1011aab1
mov ecx, dword [eax]
mov dword [edi], ecx
mov ecx, dword [ebp + 8]
jmp 0x1011aab6
mov edi, dword [eax]
mov dword [esi + 0x24], edi
mov edi, dword [eax]
test edi, edi
je 0x1011aac4
mov esi, dword [eax + 4]
mov dword [edi + 4], esi
jmp 0x1011aaca
mov edi, dword [eax + 4]
mov dword [esi + 0x28], edi
test edx, edx
je 0x1011aaf0
cmp edx, 0xffffffff
je 0x1011aaf0
mov esi, dword [edx + 0x28]
mov dword [eax + 4], esi
mov esi, dword [edx + 0x28]
test esi, esi
je 0x1011aae4
mov dword [esi], eax
jmp 0x1011aae7
mov dword [edx + 0x24], eax
mov dword [eax], 0
mov dword [edx + 0x28], eax
mov dword [eax + 0x50], edx
inc dword [esp + 0x1c]
add dword [esp + 0x38], 4
jmp 0x1011ab04
mov dword [esp + 0x50], edi
mov ebx, eax
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [esp + 0x34]
jb 0x1011a9d0
mov edx, dword [esp + 0xb8]
mov eax, dword [ebp + 0xc]
push 0
push 0
push 0x11
push 0
push 0
push 0
push 0
push edx
mov edx, dword [esp + 0xc4]
push edx
mov edx, dword [esp + 0x40]
and edx, 0xfffff
or edx, 0x10000000
add eax, 0x10
push edx
push eax
call fcn.10122240
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0xc4]
add edi, 0x8158
cmp dword [esp + 0xb8], 0
je 0x1011ab8f
test eax, eax
ja 0x1011ab7a
mov eax, 1
mov ebx, dword [edi]
cmp eax, dword [ebx + 8]
jae 0x1011ab86
sub dword [ebx + 8], eax
jmp 0x1011ab8f
mov eax, dword [ebx]
mov dword [edi], eax
call fcn.100daed0
mov edi, dword [esp + 0x60]
mov eax, dword [esp + 0xb0]
add edi, 0x8158
cmp dword [esp + 0xa4], 0
je 0x1011abc8
test eax, eax
ja 0x1011abb3
mov eax, 1
mov ebx, dword [edi]
cmp eax, dword [ebx + 8]
jae 0x1011abbf
sub dword [ebx + 8], eax
jmp 0x1011abc8
mov ecx, dword [ebx]
mov dword [edi], ecx
call fcn.100daed0
cmp dword [esp + 0x68], 0
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x6c]
lea edi, [ecx + edx*4 + 0x8140]
je 0x1011ac0e
test eax, eax
ja 0x1011abee
mov eax, 1
mov ebx, dword [edi]
cmp eax, dword [ebx + 8]
jae 0x1011ac05
sub dword [ebx + 8], eax
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov edx, dword [ebx]
mov dword [edi], edx
call fcn.100daed0
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c