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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
mov ebx, ecx
xor ecx, ecx
push esi
mov eax, edx
push edi
mov edi, dword [ebx]
mov edx, ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x44], edi
cmp dword [ebx + 0x44], ecx
jne 0x10080480
cmp byte [edi + 0x38], cl
jne 0x10080480
mov edx, eax
mov ecx, ebx
call fcn.10070036
mov esi, eax
mov dword [esp + 0x5c], esi
test esi, esi
je 0x10080480
mov edx, dword [esi + 0x40]
mov ecx, dword [ebx]
call fcn.10078e46
mov dword [esp + 0x58], eax
lea eax, [esp + 0x64]
push eax
push dword [ebp + 8]
mov edx, esi
push 0x6b
mov ecx, ebx
call fcn.1007f27c
mov dword [esp + 0x34], eax
xor eax, eax
add esp, 0xc
cmp dword [esi + 0xc], eax
mov edx, esi
setne al
mov ecx, ebx
mov dword [esp + 0x68], eax
call fcn.1006db3f
test eax, eax
jne 0x10080480
push dword [esp + 0x64]
mov edx, esi
mov ecx, ebx
call fcn.10070074
pop ecx
test eax, eax
jne 0x10080480
movsx edx, word [esi + 0x26]
shl edx, 2
mov ecx, edi
call fcn.10046ead
mov dword [esp + 0x24], eax
test eax, eax
je 0x10080480
xor eax, eax
xor ecx, ecx
cmp ax, word [esi + 0x26]
jge 0x1007f9de
mov ebx, dword [esp + 0x24]
or dword [ebx + ecx*4], 0xffffffff
movsx eax, word [esi + 0x26]
inc ecx
cmp ecx, eax
jl 0x1007f9cd
mov ebx, dword [esp + 0x3c]
mov eax, dword [ebx + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
mov dword [edx + 0x34], eax
inc dword [ebx + 0x48]
mov ecx, dword [ebx + 0x48]
mov eax, dword [esi + 8]
jmp 0x1007f9fe
inc ecx
mov dword [ebx + 0x48], ecx
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x1007f9f7
push 8
pop ecx
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 0x7c], edx
xor edx, edx
xor edi, edi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x34], edx
cmp dword [ecx], eax
jle 0x1007fb61
mov dword [esp + 0x20], eax
mov edx, dword [ecx + 8]
lea ecx, [esp + 0x78]
mov edx, dword [eax + edx]
call fcn.1006683a
test eax, eax
jne 0x10080480
movsx eax, word [esi + 0x26]
xor ecx, ecx
mov dword [esp + 0xc], ecx
test eax, eax
jle 0x1007fac4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x20]
mov edx, dword [eax + ecx + 4]
mov eax, dword [esi + 4]
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
push edx
push dword [eax]
call fcn.10048970
pop ecx
pop ecx
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x1007fa98
movsx edx, word [esi + 0x26]
mov eax, dword [esp + 0x40]
inc ecx
add eax, 0x18
cmp ecx, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x40], eax
jl 0x1007fa68
jmp 0x1007fac4
movsx eax, word [esi + 0x24]
cmp ecx, eax
jne 0x1007fabd
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov edx, dword [ebx + 8]
mov ebx, dword [esp + 0x3c]
mov eax, dword [eax + edx]
mov dword [esp + 0x34], 1
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [eax + ecx*4], edi
movsx eax, word [esi + 0x26]
cmp ecx, eax
jl 0x1007fb00
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + ecx + 4]
call fcn.10067b56
test eax, eax
je 0x1007fb81
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov ecx, dword [edx + 8]
mov dword [esp + 0x34], 1
mov eax, dword [eax + ecx]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
imul ecx, ecx, 0x18
push dword [ecx + eax]
mov ecx, ebx
push dword [esi]
push 0x17
pop edx
call fcn.1006c080
add esp, 0xc
cmp eax, 1
je 0x10080480
cmp eax, 2
jne 0x1007fb46
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x24]
or dword [ecx + eax*4], 0xffffffff
mov eax, dword [esp + 0x20]
mov ecx, dword [ebp + 8]
inc edi
add eax, 0x18
mov dword [esp + 0x20], eax
cmp edi, dword [ecx]
jl 0x1007fa2a
mov edx, dword [esp + 0x34]
mov eax, dword [ebx]
test dword [eax + 0x18], 0x40000
je 0x1007fba5
push edx
mov edx, dword [esp + 0x28]
mov ecx, esi
call fcn.100731da
pop ecx
mov edi, eax
mov dword [esp + 0x2c], eax
jmp 0x1007fbab
mov esi, dword [ebp + 8]
imul edi, edi, 0x18
mov eax, dword [esi + 8]
push dword [edi + eax + 4]
push 0x101941e4
push ebx
call fcn.100488d3
add esp, 0xc
mov byte [ebx + 0x11], 1
jmp 0x10080483
xor edi, edi
mov dword [esp + 0x2c], edi
mov eax, dword [esi + 8]
xor edx, edx
test eax, eax
je 0x1007fbda
mov eax, dword [eax + 0x14]
inc edx
test eax, eax
jne 0x1007fbb4
test edx, edx
jle 0x1007fbde
mov ecx, dword [esp + 0x44]
shl edx, 2
call fcn.10046ead
mov dword [esp + 0x30], eax
test eax, eax
je 0x10080480
jmp 0x1007fbe2
mov eax, edx
jmp 0x1007fbe2
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x1007fc50
mov esi, dword [esp + 0x34]
mov dword [esp + 0x38], eax
test edi, edi
jne 0x1007fcbd
test esi, esi
jne 0x1007fcbd
movzx edx, word [ecx + 0x28]
xor eax, eax
mov dword [esp + 0x48], eax
test edx, edx
jle 0x1007fc36
mov edx, dword [ecx + 4]
mov ebx, dword [esp + 0x24]
mov eax, dword [edx]
cmp dword [ebx + eax*4], 0
mov ebx, dword [esp + 0x3c]
jge 0x1007fcb2
movzx eax, word [ecx + 0x28]
inc edi
add edx, 4
cmp edi, eax
jl 0x1007fc12
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
add dword [esp + 0x38], 4
mov dword [edx], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x1007fbf1
mov esi, dword [esp + 0x5c]
mov ecx, ebx
call fcn.1007aa35
mov edi, eax
mov dword [esp + 0x48], edi
test edi, edi
je 0x10080480
cmp byte [ebx + 0x12], 0
jne 0x1007fc6f
or dword [edi + 0x64], 0x10
push dword [esp + 0x58]
xor edx, edx
inc edx
mov ecx, ebx
call fcn.1006f7b6
test byte [esi + 0x2a], 0x10
pop ecx
je 0x1007fcc8
push dword [ebp + 0x10]
mov edx, dword [esp + 0x50]
push dword [ebp + 0xc]
mov ecx, ebx
push dword [esp + 0x2c]
push dword [esp + 0x24]
push dword [ebp + 8]
push esi
call fcn.100804d6
mov esi, dword [ebp + 8]
xor ebx, ebx
add esp, 0x18
and dword [esp + 0x4c], ebx
jmp 0x10080486
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
jmp 0x1007fc36
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
jmp 0x1007fc3a
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
mov ecx, dword [esp + 0x28]
lea edx, [eax + 1]
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], edx
mov dword [ebx + 0x4c], edx
mov dword [esp + 0x1c], edx
test ecx, ecx
jne 0x1007fcf0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1007fd04
lea eax, [edx + 1]
mov dword [esp + 0x54], eax
movsx eax, word [esi + 0x26]
add eax, edx
mov dword [ebx + 0x4c], eax
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x34], 0
jne 0x1007fd13
test ecx, ecx
jne 0x1007fd13
test eax, eax
je 0x1007fd1d
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x20], eax
mov ecx, dword [ebx + 0x4c]
lea eax, [ecx + 1]
mov dword [esp + 0x38], eax
movsx eax, word [esi + 0x26]
add eax, ecx
cmp dword [esp + 0x68], 0
mov ecx, dword [ebp + 0xc]
mov dword [ebx + 0x4c], eax
je 0x1007fd65
mov eax, dword [ebx + 0x204]
push dword [esp + 0x10]
mov edx, ebx
mov dword [esp + 0x78], eax
mov eax, dword [esi]
mov dword [esp + 0x74], edx
push ecx
mov edx, esi
mov ecx, ebx
mov dword [ebx + 0x204], eax
call fcn.100700dd
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov edx, ecx
lea ecx, [esp + 0x78]
call fcn.1006683a
test eax, eax
jne 0x10080480
push dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x44]
push eax
push 0xa
pop edx
call fcn.1005a4a8
mov edx, dword [esp + 0x58]
add esp, 0xc
xor eax, eax
push eax
push 4
push eax
push eax
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.1008608a
add esp, 0x14
mov dword [esp + 0xc], eax
test eax, eax
je 0x10080480
movzx eax, byte [eax + 0xc]
push 0
push dword [esp + 0x20]
mov ecx, edi
push dword [esp + 0x18]
mov dword [esp + 0x78], eax
push 0x41
pop edx
call fcn.1005a4a8
add esp, 0xc
cmp dword [esp + 0x6c], 0
jne 0x1007fdef
push 0
push dword [esp + 0x20]
mov ecx, edi
push dword [esp + 0x48]
push 0x70
pop edx
call fcn.1005a4a8
add esp, 0xc
mov ecx, dword [esp + 0xc]
call fcn.100869b8
mov eax, dword [esp + 0x44]
test byte [eax + 0x18], 0x10
je 0x1007fe26
xor ecx, ecx
cmp dword [ebx + 0x1b4], ecx
jne 0x1007fe26
inc dword [ebx + 0x4c]
mov eax, dword [ebx + 0x4c]
push ecx
push eax
push ecx
push 7
pop edx
mov ecx, edi
mov dword [esp + 0x6c], eax
call fcn.1005a4a8
add esp, 0xc
cmp dword [esp + 0x68], 0
jne 0x1007fed8
cmp dword [esp + 0x6c], 0
jne 0x1007fe4d
mov edx, dword [esp + 0x10]
push 0x28
push esi
push dword [esp + 0x60]
mov ecx, ebx
call fcn.10073a6d
add esp, 0xc
xor edx, edx
cmp dword [ebp + 0x10], 5
je 0x1007fe6f
mov eax, dword [esi + 8]
mov dword [esp + 0x50], edx
jmp 0x1007fe67
cmp byte [eax + 0x2a], 5
je 0x1007fe6d
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x1007fe5e
jmp 0x1007fe74
xor edx, edx
inc edx
mov dword [esp + 0x50], edx
mov eax, dword [esi + 8]
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], eax
test eax, eax
je 0x1007fed8
mov esi, eax
test edx, edx
jne 0x1007fe94
mov eax, dword [esp + 0x30]
cmp dword [eax + ecx*4], edx
jle 0x1007fec8
mov edx, esi
mov ecx, ebx
call fcn.1006fa3d
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffff0
push eax
push dword [esp + 0x60]
mov eax, dword [esp + 0x18]
push dword [esi + 0x24]
inc ecx
add eax, ecx
push eax
push 0x28
pop edx
mov ecx, edi
call fcn.1005a4f9
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x64]
add esp, 0x14
mov esi, dword [esi + 0x14]
inc ecx
mov dword [esp + 0xc], ecx
test esi, esi
jne 0x1007fe87
mov esi, dword [esp + 0x5c]
cmp dword [esp + 0x6c], 0
mov ecx, edi
je 0x1007ff84
push 0
push 0
push dword [esp + 0x24]
push 0x4a
pop edx
call fcn.1005a4a8
add esp, 0xc
mov dword [esp + 0x14], eax
xor eax, eax
push eax
push eax
xor edx, edx
push eax
inc edx
mov ecx, edi
call fcn.1005a4a8
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
js 0x1007ff27
push dword [edi + 0x1c]
mov edx, eax
mov ecx, edi
call fcn.1005a797
pop ecx
mov eax, dword [esp + 0xc]
push dword [esp + 0x1c]
mov ecx, edi
push eax
push dword [esp + 0x18]
push 0x36
pop edx
call fcn.1005a4a8
add esp, 0xc
cmp dword [esp + 0x34], 0
je 0x1007ff6d
push dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.10069482
pop ecx
push 0
push 0
push dword [esp + 0x28]
mov ecx, edi
push 0x15
pop edx
call fcn.1005a4a8
add esp, 0xc
cmp dword [esp + 0x2c], 0
jne 0x1007ff9f
mov edx, dword [esp + 0x28]
test edx, edx
je 0x10080061
xor eax, eax
jmp 0x1007ffa8
push dword [esp + 0x1c]
push 0
push dword [esp + 0x48]
push 0x71
pop edx
call fcn.1005a4a8
add esp, 0xc
mov dword [esp + 0xc], eax
jmp 0x1007ff2b
mov edx, esi
mov ecx, ebx
call fcn.10073123
push dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
push esi
push 3
push 0
push dword [ebp + 8]
mov ecx, ebx
mov dword [esp + 0x2c], eax
call fcn.1007f7fa
mov edx, dword [esp + 0x2c]
and dword [esp + 0x28], 0
or edx, eax
xor eax, eax
add esp, 0x14
mov dword [esp + 0x18], edx
cmp ax, word [esi + 0x26]
jge 0x1008003f
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
cmp dword [eax + ebx*4], 0
jl 0x10080016
cmp edx, 0xffffffff
je 0x10080016
cmp ebx, 0x20
jge 0x1007ffff
xor eax, eax
inc eax
mov ecx, ebx
shl eax, cl
test edx, eax
jne 0x10080016
mov eax, dword [esp + 0x54]
push 0
add eax, ebx
push eax
push 0
push 0xa
pop edx
mov ecx, edi
call fcn.1005a4a8
jmp 0x1008002b
mov eax, dword [esp + 0x54]
add eax, ebx
push eax
push ebx
push dword [esp + 0x18]
mov edx, esi
mov ecx, edi
call fcn.1006876e
movsx eax, word [esi + 0x26]
mov edx, dword [esp + 0x24]
add esp, 0xc
inc ebx
cmp ebx, eax
jl 0x1007ffe0
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x34], 0
jne 0x1008005d
push 0
push dword [esp + 0x24]
mov ecx, edi
push dword [esp + 0x24]
push 0xe
pop edx
call fcn.1005a4a8
add esp, 0xc
mov edx, dword [esp + 0x28]
push dword [ebp + 0x10]
mov ecx, ebx
push esi
push 1
push 1
push dword [ebp + 8]
call fcn.1007f7fa
movsx ecx, word [esi + 0x26]
add esp, 0x14
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x38]
dec ecx
add ecx, eax
push ecx
push eax
push 0
push 0xa
pop edx
mov ecx, edi
call fcn.1005a4a8
xor eax, eax
add esp, 0xc
xor ecx, ecx
cmp ax, word [esi + 0x26]
jmp 0x1008012c
movsx eax, word [esi + 0x24]
cmp ecx, eax
je 0x10080125
mov eax, dword [esp + 0x24]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x100800da
mov eax, dword [esp + 0x38]
imul edx, edx, 0x18
add eax, ecx
push eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x18]
mov ecx, ebx
mov edx, dword [eax + edx]
call fcn.10069482
jmp 0x10080120
test dword [esp + 0x64], 1
je 0x100800f4
cmp ecx, 0x1f
jg 0x100800f4
xor eax, eax
inc eax
shl eax, cl
test dword [esp + 0x54], eax
je 0x10080125
mov esi, dword [esp + 0x38]
add esi, ecx
push esi
push ecx
push dword [esp + 0x18]
mov ecx, edi
push 0x1d
pop edx
call fcn.1005a4a8
add esp, 0xc
mov ecx, edi
push esi
mov esi, dword [esp + 0x60]
push dword [esp + 0x1c]
mov edx, esi
call fcn.1007f85f
pop ecx
pop ecx
mov ecx, dword [esp + 0x18]
movsx eax, word [esi + 0x26]
inc ecx
cmp ecx, eax
mov dword [esp + 0x18], ecx
jl 0x100800a3
test byte [esp + 0x64], 1
je 0x1008021d
movsx eax, word [esi + 0x26]
push 0
push eax
push dword [esp + 0x40]
mov ecx, edi
push 0x1e
pop edx
call fcn.1005a4a8
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.10073b33
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100801aa
mov edi, eax
cmp byte [edi + 8], 0x6b
jne 0x1008019f
cmp byte [edi + 9], 1
jne 0x1008019f
mov edx, dword [ebp + 8]
mov ecx, dword [edi + 0x10]
call fcn.1007f236
test eax, eax
je 0x1008019f
push dword [esp + 0xc]
mov edx, edi
push dword [ebp + 0x10]
mov ecx, ebx
push dword [esp + 0x24]
push esi
call fcn.1007f720
add esp, 0x10
mov edi, dword [edi + 0x20]
test edi, edi
jne 0x1008016c
mov edi, dword [esp + 0x48]
push dword [esp + 0x1c]
mov ecx, edi
push dword [esp + 0x10]
push dword [esp + 0x18]
push 0x36
pop edx
call fcn.1005a4a8
and dword [esp + 0x20], 0
xor eax, eax
add esp, 0xc
cmp ax, word [esi + 0x26]
jge 0x1008021d
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x24]
cmp dword [eax + ebx*4], 0
jge 0x10080210
movsx eax, word [esi + 0x24]
cmp ebx, eax
je 0x10080210
mov esi, dword [esp + 0x38]
add esi, ebx
push esi
push ebx
push dword [esp + 0x18]
mov ecx, edi
push 0x1d
pop edx
call fcn.1005a4a8
add esp, 0xc
mov ecx, edi
push esi
mov esi, dword [esp + 0x60]
push ebx
mov edx, esi
call fcn.1007f85f
pop ecx
pop ecx
movsx eax, word [esi + 0x26]
inc ebx
cmp ebx, eax
jl 0x100801d4
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x68], 0
jne 0x10080324
push 0
push dword [esp + 0x10]
xor eax, eax
push dword [ebp + 0x10]
cmp dword [esp + 0x40], eax
push 1
cmovne eax, dword [esp + 0x2c]
push eax
push dword [esp + 0x44]
mov edx, esi
push dword [esp + 0x38]
mov ecx, ebx
push dword [esp + 0x2c]
call fcn.10074d15
add esp, 0x20
cmp dword [esp + 0x2c], 0
je 0x1008026f
push 0
push dword [esp + 0x20]
mov edx, esi
mov ecx, ebx
call fcn.10072deb
pop ecx
pop ecx
push dword [esp + 0x1c]
mov ecx, edi
push 0
push dword [esp + 0x18]
push 0x36
pop edx
call fcn.1005a4a8
add esp, 0xc
mov edx, esi
push dword [esp + 0x30]
mov ecx, ebx
push dword [esp + 0x14]
mov dword [esp + 0x1c], eax
call fcn.1007082a
cmp dword [esp + 0x34], 0
pop ecx
pop ecx
jne 0x100802ab
cmp dword [esp + 0x34], 0
je 0x100802c0
push 0
push 0
push dword [esp + 0x18]
mov ecx, edi
push 0x3b
pop edx
call fcn.1005a4a8
add esp, 0xc
mov eax, dword [esp + 0x14]
test eax, eax
js 0x100802d5
push dword [edi + 0x1c]
mov edx, eax
mov ecx, edi
call fcn.1005a797
pop ecx
cmp dword [esp + 0x2c], 0
je 0x100802ed
push dword [esp + 0x20]
mov edx, esi
push 0
mov ecx, ebx
call fcn.10072deb
pop ecx
pop ecx
push 0
push 0
push 1
push dword [esp + 0x3c]
mov edx, esi
push dword [esp + 0x30]
mov ecx, ebx
push dword [esp + 0x24]
call fcn.10075449
add esp, 0x18
cmp dword [esp + 0x2c], 0
je 0x10080324
push dword [esp + 0x1c]
mov edx, esi
push dword [ebp + 8]
mov ecx, ebx
call fcn.1007398a
pop ecx
pop ecx
mov eax, dword [esp + 0x44]
test byte [eax + 0x18], 0x10
je 0x1008034c
cmp dword [ebx + 0x1b4], 0
jne 0x1008034c
push 0
push 1
push dword [esp + 0x68]
mov ecx, edi
push 0x14
pop edx
call fcn.1005a4a8
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x1008039d
mov edi, dword [esp + 0xc]
cmp byte [eax + 8], 0x6b
jne 0x1008038e
cmp byte [eax + 9], 2
jne 0x1008038e
mov edx, dword [ebp + 8]
mov ecx, dword [eax + 0x10]
call fcn.1007f236
test eax, eax
je 0x1008038a
mov edx, dword [esp + 0x28]
push edi
push dword [ebp + 0x10]
mov ecx, ebx
push dword [esp + 0x24]
push esi
call fcn.1007f720
add esp, 0x10
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10080358
mov edi, dword [esp + 0x48]
push 0
push dword [esp + 0x10]
xor edx, edx
push 0
inc edx
mov ecx, edi
call fcn.1005a4a8
mov eax, dword [esp + 0x18]
add esp, 0xc
test eax, eax
js 0x100803c7
push dword [edi + 0x1c]
mov edx, eax
mov ecx, edi
call fcn.1005a797
pop ecx
mov esi, dword [esi + 8]
and dword [esp + 0x14], 0
test esi, esi
je 0x1008040d
mov ebx, dword [esp + 0x14]
cmp dword [esp + 0x50], 0
jne 0x100803e8
mov eax, dword [esp + 0x30]
cmp dword [eax + ebx*4], 0
jle 0x10080401
mov eax, dword [esp + 0x10]
push 0
inc eax
push 0
add eax, ebx
push eax
push 0x2d
pop edx
mov ecx, edi
call fcn.1005a4a8
add esp, 0xc
mov esi, dword [esi + 0x14]
inc ebx
test esi, esi
jne 0x100803d7
mov ebx, dword [esp + 0x3c]
xor esi, esi
push esi
push esi
push dword [esp + 0x18]
mov ecx, edi
push 0x2d
pop edx
call fcn.1005a4a8
add esp, 0xc
cmp byte [ebx + 0x12], 0
jne 0x10080437
cmp dword [ebx + 0x1b4], esi
jne 0x10080437
mov ecx, ebx
call fcn.10073deb
mov eax, dword [esp + 0x44]
test byte [eax + 0x18], 0x10
je 0x10080480
cmp dword [ebx + 0x1b4], esi
jne 0x10080480
cmp byte [ebx + 0x12], 0
jne 0x10080480
push esi
push 1
push dword [esp + 0x68]
mov ecx, edi
push 0x10
pop edx
call fcn.1005a4a8
xor edx, edx
add esp, 0xc
inc edx
mov ecx, edi
call fcn.1005b5ae
push esi
push 0x101941d4
push esi
xor edx, edx
mov ecx, edi
call fcn.1005b615
add esp, 0xc
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x10080498
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x204], ecx
mov edi, dword [esp + 0x44]
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.10046cee
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.10046cee
mov edx, dword [esp + 0x4c]
mov ecx, edi
call fcn.1006f394
mov edx, esi
mov ecx, edi
call fcn.100679c4
mov edx, ebx
mov ecx, edi
call fcn.100671e4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret