Function at 0x1002d2b4
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
push ebx
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
push esi
mov esi, dword [ebp + 0xc]
xor eax, eax
push edi
inc eax
xor edi, edi
cmp esi, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ecx
je 0x1002dfbd
cmp byte [ecx + 0x1e], 0
jne 0x1002dfbd
cmp dword [ebx + 0x40], edi
jne 0x1002dfbd
push edi
push edi
push edi
push 0x15
mov eax, ebx
call fcn.1001f14d
add esp, 0x10
test eax, eax
je 0x1002d30e
xor eax, eax
inc eax
jmp 0x1002dfbd
push 0x2c
lea eax, [esp + 0x70]
push edi
push eax
call sub.MSVCR80.dll_memset
mov eax, dword [esi + 0x18]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x10]
add esp, 0xc
cmp byte [eax], 4
ja 0x1002d336
and word [esi + 6], 0xfffe
mov dword [esi + 0x18], edi
push edi
push esi
push ebx
call fcn.1002cfa2
mov eax, dword [esi + 8]
add esp, 0xc
cmp dword [ebx + 0x40], edi
mov dword [esp + 0x44], eax
mov eax, dword [esi]
jne 0x1002df99
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 0x1e], 0
jne 0x1002df99
mov ecx, dword [esp + 0x28]
mov dword [esi + 0x18], ecx
movzx ecx, byte [esi + 6]
shr ecx, 2
and ecx, 1
cmp eax, edi
mov dword [esp + 0x34], ecx
je 0x1002df99
cmp dword [ebx + 0x40], edi
jg 0x1002df99
mov eax, dword [ebp + 0x10]
cmp byte [eax], 4
ja 0x1002d393
mov dword [esp + 0x28], edi
mov edi, ebx
call fcn.1002b031
test eax, eax
mov dword [esp + 0xc], eax
je 0x1002df99
and dword [esp + 0x1c], 0
jmp 0x1002d4d3
mov eax, dword [esp + 0x44]
movsx ecx, word [eax]
cmp dword [esp + 0x1c], ecx
jge 0x1002d4dd
mov ecx, dword [esp + 0x1c]
imul ecx, ecx, 0x38
lea edi, [ecx + eax + 8]
mov eax, dword [edi + 0x10]
test eax, eax
mov dword [esp + 0x20], eax
je 0x1002d4cf
cmp byte [edi + 0x14], 0
jne 0x1002d4cf
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
mov ecx, esi
call fcn.1001a88b
mov eax, dword [esp + 0x10]
add dword [ebx + 0x1b0], eax
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + 6]
shr eax, 2
and eax, 1
push eax
push dword [esp + 0x38]
mov dword [esp + 0x18], eax
push dword [esp + 0x24]
mov eax, esi
push ebx
call fcn.1002c470
add esp, 0x10
test eax, eax
je 0x1002d444
cmp dword [esp + 0x10], 0
je 0x1002d43d
or word [esi + 6], 4
mov dword [esp + 0x34], 1
or dword [esp + 0x1c], 0xffffffff
jmp 0x1002d487
mov eax, dword [edi + 0x18]
and dword [esp + 0xac], 0
and dword [esp + 0xb0], 0
mov dword [esp + 0xa8], eax
lea eax, [esp + 0xa4]
push eax
push dword [esp + 0x24]
mov byte [esp + 0xac], 9
push ebx
mov byte [esp + 0xb1], 0
call fcn.1002d2b4
add esp, 0xc
mov byte [edi + 0x14], 1
cmp dword [ebx + 0x40], 0
jne 0x1002df99
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x1e], 0
jne 0x1002df99
and dword [esp + 0x10], 0
lea eax, [esp + 0x10]
mov ecx, esi
call fcn.1001a88b
mov eax, dword [esp + 0x10]
sub dword [ebx + 0x1b0], eax
mov eax, dword [esi + 8]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x10]
cmp byte [eax], 4
jbe 0x1002d4cf
mov eax, dword [esi + 0x18]
mov dword [esp + 0x28], eax
inc dword [esp + 0x1c]
cmp dword [esi + 0x1c], 0
je 0x1002d3b0
mov ecx, dword [esi + 0xc]
mov eax, dword [esi]
mov edi, dword [esi + 0x10]
mov dword [esp + 0x40], ecx
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x50], ecx
movzx ecx, byte [esi + 6]
and ecx, 1
xor edx, edx
cmp dword [esi + 0x1c], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x10], ecx
je 0x1002d556
cmp dword [esi + 0x24], edx
jne 0x1002d544
xor ecx, ecx
mov eax, esi
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], esi
mov ecx, eax
mov eax, dword [eax + 0x1c]
inc edx
test eax, eax
jne 0x1002d513
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x60]
test eax, eax
je 0x1002d544
cmp edx, eax
jle 0x1002d544
push 0x10046cd0
mov edi, ebx
call fcn.100049b4
pop ecx
jmp 0x1002d306
push dword [ebp + 0x10]
mov eax, esi
push ebx
call fcn.1002b1b0
pop ecx
pop ecx
jmp 0x1002dfbd
cmp dword [eax], 1
mov ecx, dword [ebp + 0x10]
movzx ecx, byte [ecx]
jle 0x1002d570
push ecx
mov edi, ebx
call fcn.1002a345
mov edi, dword [esp + 0x1c]
pop ecx
jmp 0x1002d572
xor eax, eax
test eax, eax
jne 0x1002df99
mov al, byte [esi + 6]
and al, 5
cmp al, 1
jne 0x1002d5ad
cmp dword [esi + 0x10], 0
jne 0x1002d5ad
push 0
push dword [esi]
push dword [esp + 0x38]
call fcn.1001b175
and word [esi + 6], 0xfffe
mov edi, eax
add esp, 0xc
and dword [esp + 0x10], 0
mov dword [esi + 0x10], eax
mov dword [esp + 0x18], edi
cmp dword [esp + 0x28], 0
je 0x1002d5f0
mov edi, dword [esp + 0x28]
push edi
push ebx
call fcn.1002a6a9
mov ecx, dword [ebx + 0x44]
push 0xfffffffffffffff0
push eax
mov dword [edi + 8], ecx
inc dword [ebx + 0x44]
mov eax, dword [edi]
push 0
inc eax
inc eax
push eax
push dword [edi + 8]
push 0x76
push dword [esp + 0x2c]
call fcn.100118a5
mov edi, dword [esp + 0x3c]
add esp, 0x24
mov dword [esp + 0x14], eax
mov dword [esi + 0x40], eax
jmp 0x1002d5f5
or dword [esp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x10]
cmp byte [eax], 9
jne 0x1002d614
mov ecx, dword [esp + 0x54]
push dword [ecx]
push dword [eax + 4]
mov eax, dword [esp + 0x14]
push 0x76
call fcn.1001188e
add esp, 0xc
mov eax, dword [esp + 0xc]
call fcn.100118d5
mov dword [esp + 0xa0], eax
push eax
mov eax, esi
mov ecx, ebx
call fcn.1002b057
cmp dword [esp + 0x14], 0
pop ecx
je 0x1002d667
mov edi, dword [ebx + 0x44]
lea eax, [edi + 1]
mov dword [ebx + 0x44], eax
push dword [esi]
mov dword [esp + 0x5c], edi
push ebx
call fcn.1002a6a9
push 0xfffffffffffffff0
push eax
push 0
push 0
push edi
push 0x76
push dword [esp + 0x2c]
call fcn.100118a5
mov edi, dword [esp + 0x3c]
add esp, 0x24
jmp 0x1002d66c
or dword [esp + 0x58], 0xffffffff
xor edx, edx
cmp dword [esp + 0x34], edx
jne 0x1002d6e8
cmp edi, edx
jne 0x1002d6ec
push edx
push edx
lea eax, [esp + 0x30]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x54]
push ebx
call fcn.100338ab
mov edi, eax
add esp, 0x18
test edi, edi
je 0x1002df99
cmp dword [esp + 0x14], 0
jl 0x1002d6bc
cmp dword [esp + 0x28], 0
jne 0x1002d6bc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
push 1
call fcn.10011bfc
or dword [esi + 0x40], 0xffffffff
pop ecx
push dword [edi + 0x18]
push dword [edi + 0x14]
push dword [ebp + 0x10]
push 0xffffffffffffffff
push dword [esp + 0x38]
push 0
push 0
push dword [esp + 0x70]
push esi
push ebx
call fcn.1002a365
push edi
call fcn.10033fc3
add esp, 0x2c
jmp 0x1002df4a
cmp edi, edx
je 0x1002d71c
mov esi, dword [esi]
mov eax, dword [esi]
cmp eax, edx
mov esi, dword [esi + 0xc]
jle 0x1002d705
lea ecx, [esi + 0xc]
mov word [ecx], dx
dec eax
add ecx, 0x10
cmp eax, edx
jg 0x1002d6fa
mov eax, dword [edi]
cmp eax, edx
mov ecx, dword [edi + 0xc]
jle 0x1002d71c
add ecx, 0xc
mov word [ecx], dx
dec eax
add ecx, 0x10
cmp eax, edx
jg 0x1002d711
mov eax, dword [esp + 0xc]
call fcn.100118d5
push 0x24
mov dword [esp + 0x3c], eax
lea eax, [esp + 0xb8]
push 0
push eax
call sub.MSVCR80.dll_memset
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc4], eax
add esp, 0xc
test edi, edi
lea eax, [esp + 0x6c]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xd0], eax
je 0x1002d767
mov eax, dword [edi]
inc eax
mov dword [esp + 0x78], eax
jmp 0x1002d76c
and dword [esp + 0x78], 0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x74], eax
lea eax, [esp + 0xb4]
push eax
call fcn.1001d739
mov esi, dword [esp + 0x2c]
pop ecx
lea eax, [esp + 0xb4]
push eax
call fcn.1001d739
xor edi, edi
cmp dword [esp + 0x54], edi
pop ecx
je 0x1002d7b1
push dword [esp + 0x50]
lea eax, [esp + 0xb8]
call fcn.1001d712
pop ecx
cmp dword [esp + 0x90], edi
mov eax, dword [esp + 0x80]
mov dword [esp + 0x88], eax
mov dword [esp + 0x1c], edi
jle 0x1002d7fb
mov eax, dword [esp + 0x8c]
mov eax, dword [edi + eax]
mov esi, dword [eax + 0x1c]
lea ecx, [esp + 0xb4]
push ecx
call fcn.1001d739
inc dword [esp + 0x20]
mov eax, dword [esp + 0x20]
add edi, 0x10
cmp eax, dword [esp + 0x94]
pop ecx
jl 0x1002d7cc
mov eax, dword [esp + 0x30]
cmp byte [eax + 0x1e], 0
jne 0x1002df99
mov esi, dword [esp + 0x18]
xor edi, edi
cmp esi, edi
je 0x1002dd01
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x70], eax
inc eax
push esi
push ebx
mov dword [ebx + 0x44], eax
call fcn.1002a6a9
push 0xfffffffffffffff0
push eax
push edi
push dword [esp + 0x8c]
mov dword [esp + 0x7c], eax
push dword [esp + 0x88]
push 0x76
push dword [esp + 0x2c]
call fcn.100118a5
mov dword [esp + 0x80], eax
mov eax, dword [ebx + 0x48]
add esp, 0x24
inc eax
mov dword [esp + 0x48], eax
inc eax
mov dword [esp + 0x68], eax
inc eax
mov dword [esp + 0x14], eax
mov dword [ebx + 0x48], eax
mov eax, dword [esp + 0xc]
call fcn.100118d5
inc dword [ebx + 0x48]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
call fcn.100118d5
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x48]
lea ecx, [eax + 1]
mov dword [esp + 0x98], ecx
mov ecx, dword [esi]
add eax, ecx
lea ecx, [eax + 1]
push edi
push dword [esp + 0x6c]
mov dword [ebx + 0x48], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esi]
add ecx, eax
mov eax, dword [esp + 0x14]
push edi
push 0x31
mov dword [ebx + 0x48], ecx
call fcn.1001180b
mov eax, dword [esp + 0x1c]
push edi
push dword [esp + 0x5c]
push edi
push 0x31
call fcn.1001180b
push dword [esp + 0x40]
mov eax, dword [esp + 0x30]
push dword [esp + 0x34]
push 0x30
call fcn.1001188e
add esp, 0x2c
push edi
push edi
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x54]
push ebx
call fcn.100338ab
add esp, 0x18
cmp eax, edi
mov dword [esp + 0x9c], eax
je 0x1002df99
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x1002d929
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
and dword [esp + 0x40], edi
mov dword [esp + 0x18], eax
jmp 0x1002da87
mov eax, dword [eax]
mov edx, dword [esp + 0x80]
mov dword [esp + 0x24], eax
inc eax
test edx, edx
mov dword [esp + 0x40], 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x2c], eax
jle 0x1002d961
mov ecx, dword [esp + 0x7c]
add ecx, 0xc
cmp dword [ecx], eax
jl 0x1002d95b
inc dword [esp + 0x2c]
inc eax
add ecx, 0x18
dec edx
jne 0x1002d952
push dword [esp + 0x2c]
mov esi, ebx
call fcn.1001d79b
pop ecx
mov edi, eax
mov eax, dword [esp + 0x18]
push 0
push edi
mov ecx, ebx
mov dword [esp + 0x68], edi
call fcn.1001cea4
mov eax, dword [esp + 0x2c]
add eax, edi
push eax
push dword [esp + 0x7c]
mov eax, dword [esp + 0x1c]
push 6
call fcn.1001188e
and dword [esp + 0x30], 0
mov esi, dword [esp + 0x50]
add esp, 0x14
cmp dword [esp + 0x80], 0
jle 0x1002da1b
and dword [esp + 0x24], 0
lea eax, [edi + esi]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x24]
add eax, ecx
cmp dword [eax + 0xc], esi
jl 0x1002da05
mov ebx, dword [eax]
mov edi, dword [ebp + 8]
push 0
push dword [esp + 0x40]
push dword [eax + 4]
push dword [eax + 8]
call fcn.1001befd
add esp, 0x10
cmp dword [esp + 0x3c], eax
je 0x1002d9fa
push dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x14]
push 9
call fcn.1001188e
add esp, 0xc
inc esi
inc dword [esp + 0x3c]
mov ebx, edi
mov edi, dword [esp + 0x60]
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x24], 0x18
cmp eax, dword [esp + 0x80]
jl 0x1002d9b9
mov eax, ebx
call fcn.1001d75f
mov esi, eax
mov eax, dword [esp + 0xc]
push esi
push dword [esp + 0x30]
push edi
push 0x5a
call fcn.1001180b
mov eax, dword [esp + 0x1c]
push esi
push dword [esp + 0x84]
push 0x6d
call fcn.1001188e
add esp, 0x1c
mov eax, ebx
call fcn.1001d77a
mov ecx, dword [esp + 0x2c]
push edi
mov eax, ebx
call fcn.1001d7e1
pop ecx
push dword [esp + 0x9c]
call fcn.10033fc3
mov eax, dword [esp + 0x10]
pop ecx
push dword [esp + 0x38]
push dword [esp + 0x74]
push 0x14
call fcn.1001188e
add esp, 0xc
mov byte [esp + 0x6d], 1
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x60], eax
xor eax, eax
cmp dword [ecx], eax
mov dword [esp + 0x2c], eax
jle 0x1002dafe
mov dword [esp + 0x24], eax
cmp dword [esp + 0x40], 0
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x2c]
je 0x1002dacb
add ecx, eax
push ecx
push eax
push dword [esp + 0x78]
mov eax, dword [esp + 0x18]
push 3
call fcn.1001180b
add esp, 0x10
jmp 0x1002dae9
lea esi, [eax + ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x6c], 1
mov eax, dword [eax + 0xc]
push dword [eax + ecx]
mov edi, ebx
call fcn.1001cd6e
pop ecx
inc dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
add dword [esp + 0x24], 0x10
cmp ecx, dword [eax]
jl 0x1002daa4
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0xc]
push 0xfffffffffffffffa
push dword [esp + 0x68]
push dword [esi]
push dword [esp + 0x40]
push dword [esp + 0xa8]
push 0x60
push edi
call fcn.100118a5
mov eax, dword [edi + 0xc]
add esp, 0x1c
mov dword [esp + 0x64], eax
inc eax
push eax
push 0
push eax
push 0x84
mov eax, edi
call fcn.1001180b
push dword [esi]
mov edi, dword [esp + 0x48]
push dword [esp + 0xac]
mov esi, ebx
call fcn.1001c068
push dword [esp + 0x64]
mov esi, dword [esp + 0x28]
push dword [esp + 0x30]
mov eax, esi
push 0x30
call fcn.1001188e
add esp, 0x24
push dword [esp + 0x38]
mov edi, 0x81
push dword [esp + 0x6c]
mov eax, esi
push edi
call fcn.1001188e
add esp, 0xc
push dword [esp + 0x20]
mov eax, esi
push dword [esp + 0x14]
push 0x30
call fcn.1001188e
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x70]
add esp, 0xc
mov ecx, esi
call fcn.10011b4a
lea eax, [esp + 0x6c]
push eax
push ebx
call fcn.1002d13c
push 0
push dword [esp + 0x54]
mov eax, esi
push 1
push 0x31
call fcn.1001180b
add esp, 0x18
cmp dword [esp + 0x40], 0
je 0x1002dbde
push dword [esp + 0x60]
mov eax, esi
push dword [esp + 0x74]
push 0x6b
call fcn.1001188e
add esp, 0xc
jmp 0x1002dbf9
push dword [esp + 0x9c]
call fcn.10033fc3
pop ecx
mov ecx, dword [esp + 0x5c]
push 1
mov eax, esi
call fcn.10011bfc
pop ecx
push dword [esp + 0x4c]
mov eax, esi
push dword [esp + 0x18]
push 0x30
call fcn.1001188e
add esp, 0xc
push 0
push dword [esp + 0x3c]
mov eax, esi
push 0
push 0x61
call fcn.1001180b
mov eax, dword [esi + 0xc]
push 0
push dword [esp + 0x7c]
mov dword [esp + 0x74], eax
push 1
push 0x31
mov eax, esi
call fcn.1001180b
push dword [esp + 0x34]
mov eax, esi
push 0x1a
call fcn.10011877
mov edx, dword [esp + 0x74]
mov ecx, esi
call fcn.10011923
mov eax, dword [esi + 0xc]
mov dword [esp + 0x74], eax
add eax, 2
push eax
push dword [esp + 0x74]
mov eax, esi
push edi
call fcn.1001188e
add esp, 0x34
push dword [esp + 0x14]
mov eax, esi
push 0x1a
call fcn.10011877
pop ecx
pop ecx
lea edi, [esp + 0x6c]
mov eax, ebx
call fcn.1002d0f1
cmp dword [esp + 0x50], 0
je 0x1002dc9e
mov eax, dword [esp + 0x4c]
push 8
inc eax
push eax
push dword [esp + 0x58]
push ebx
call fcn.1001d159
add esp, 0x10
push dword [esp + 0x5c]
mov eax, dword [esp + 0x50]
inc eax
push eax
push dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
push dword [esp + 0x64]
push dword [esp + 0x38]
push 0
push 0
push dword [eax]
push eax
push ebx
call fcn.1002a365
push dword [esp + 0x3c]
mov eax, esi
push 0x1a
call fcn.10011877
mov edx, dword [esp + 0x50]
mov ecx, esi
call fcn.10011923
push ebx
lea ebx, [esp + 0xa0]
call fcn.1002d02e
mov eax, dword [esp + 0x40]
add esp, 0x34
push dword [esp + 0x10]
push 0x1a
call fcn.10011877
pop ecx
pop ecx
jmp 0x1002df37
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x6c]
mov eax, esi
mov dword [esp + 0x48], edi
call fcn.1002c982
cmp eax, edi
mov dword [esp + 0x14], eax
je 0x1002de11
mov esi, dword [eax + 0x48]
mov ecx, dword [ebx]
call fcn.10029639
mov esi, eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x20], eax
inc eax
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x5c], eax
mov eax, ebx
mov dword [esp + 0x58], esi
mov dword [esp + 0x10], edi
call fcn.10022909
mov eax, dword [esp + 0x14]
push dword [eax + 4]
mov ebx, esi
mov esi, dword [ebp + 8]
push edi
push dword [eax + 0x18]
call fcn.1001f1ca
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x14]
xor ebx, ebx
add esp, 0xc
cmp eax, ebx
je 0x1002ddae
cmp edi, ebx
je 0x1002dd81
mov ecx, dword [eax + 4]
cmp ecx, dword [edi + 4]
jge 0x1002dd83
mov edi, eax
mov eax, dword [eax + 0x20]
cmp eax, ebx
jne 0x1002dd75
cmp edi, ebx
je 0x1002ddae
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x14]
cmp eax, dword [ecx + 0xc]
jge 0x1002ddae
mov esi, dword [edi + 0x14]
push edi
push dword [ebp + 8]
call fcn.10022bc5
pop ecx
pop ecx
mov dword [esp + 0x10], eax
jmp 0x1002ddb2
mov esi, dword [esp + 0x5c]
push dword [esp + 0x58]
push esi
push dword [esp + 0x28]
mov esi, dword [esp + 0x18]
push 0xe
mov eax, esi
call fcn.1001180b
add esp, 0x10
cmp dword [esp + 0x10], ebx
je 0x1002dde3
push 0xfffffffffffffff0
push dword [esp + 0x14]
or eax, 0xffffffff
push esi
call fcn.10011c3f
add esp, 0xc
mov eax, dword [esp + 0x8c]
push dword [eax + 8]
mov eax, esi
push dword [esp + 0x24]
push 0x6c
call fcn.1001188e
add esp, 0xc
push dword [esp + 0x20]
mov eax, esi
push 0x22
call fcn.10011877
pop ecx
pop ecx
jmp 0x1002deea
mov eax, esi
mov dword [esp + 0x10], edi
call fcn.1002c90e
test al, al
mov byte [esp + 0x20], al
je 0x1002de64
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov esi, dword [esp + 0x30]
push edi
push dword [eax + 0x1c]
push esi
call fcn.1001b175
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x48], eax
je 0x1002de64
cmp byte [esi + 0x1e], 0
jne 0x1002de64
cmp byte [esp + 0x20], 1
mov edx, dword [eax + 0xc]
setne cl
mov byte [edx + 8], cl
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov byte [eax], 0x97
push ebx
lea ebx, [esp + 0x70]
call fcn.1002d02e
pop ecx
xor ebx, ebx
push ebx
push dword [esp + 0x24]
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x54]
push dword [ebp + 8]
call fcn.100338ab
mov esi, eax
add esp, 0x18
cmp esi, ebx
jne 0x1002dea7
push dword [esp + 0x30]
mov esi, dword [esp + 0x4c]
call fcn.1001b5dd
pop ecx
jmp 0x1002df99
lea eax, [esp + 0x6c]
push eax
push dword [ebp + 8]
call fcn.1002d13c
cmp dword [esp + 0x18], ebx
pop ecx
pop ecx
jne 0x1002ded5
cmp byte [esp + 0x20], bl
je 0x1002ded5
mov eax, dword [esp + 0xc]
push ebx
push dword [esi + 0x18]
push ebx
push 0x61
call fcn.1001180b
add esp, 0x10
push esi
call fcn.10033fc3
mov eax, dword [ebp + 8]
pop ecx
lea edi, [esp + 0x6c]
call fcn.1002d0f1
xor ebx, ebx
cmp dword [esp + 0x50], ebx
mov dword [esp + 0x28], ebx
je 0x1002df09
push 8
push dword [esp + 0x3c]
push dword [esp + 0x58]
push dword [ebp + 8]
call fcn.1001d159
add esp, 0x10
push dword [esp + 0x38]
mov eax, dword [ebp + 0xc]
push dword [esp + 0x3c]
push dword [ebp + 0x10]
push 0xffffffffffffffff
push ebx
push ebx
push ebx
push dword [eax]
push eax
push dword [ebp + 8]
call fcn.1002a365
push dword [esp + 0x58]
mov esi, dword [esp + 0x74]
call fcn.1001b5dd
add esp, 0x2c
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0xc]
call fcn.10011923
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
cmp dword [esp + 0x28], 0
je 0x1002df6b
push dword [ebp + 0x10]
mov eax, dword [esp + 0x58]
push dword [eax]
push esi
push ebx
mov ebx, dword [esp + 0x1c]
call fcn.1002a748
mov ebx, dword [ebp + 8]
add esp, 0x10
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0xc]
call fcn.10011923
mov eax, dword [ebp + 0x10]
and dword [esp + 0x24], 0
cmp byte [eax], 5
jne 0x1002df99
push dword [esp + 0x54]
push dword [esp + 0x48]
push ebx
call fcn.1002aba4
add esp, 0xc
push dword [esp + 0x7c]
push dword [esp + 0x34]
call fcn.1000303b
push dword [esp + 0x94]
push dword [esp + 0x3c]
call fcn.1000303b
mov eax, dword [esp + 0x34]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret