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

Disassembly:
mov ecx, dword [0xae4be8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x823b84
sub esp, 0xa8
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov eax, dword [esp + 0xb8]
test eax, eax
je 0x8235f6
mov dword [esp], eax
lea ecx, [0x89b104]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x12
call fcn.008283d0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea eax, [0x823ce0]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
mov dword [esp], eax
call fcn.007575f0
test eax, eax
jne 0x82362b
lea eax, [0x883500]
mov dword [esp], eax
call fcn.0072ce10
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
xor ebx, ebx
jmp 0x82363f
call fcn.00757b80
add esp, 0xa8
ret
mov ebp, dword [esp + 0x6c]
lea ecx, [ebp + 0x14]
inc ebx
cmp edx, ebx
jle 0x823797
mov dword [esp + 0x6c], ecx
lea edi, [esp + 0x7c]
mov esi, ecx
call fcn.00785d2e
mov ecx, dword [esp + 0x88]
test ecx, ecx
je 0x823637
mov dword [esp + 0x38], ebx
mov dword [esp], ecx
call fcn.007e4a20
mov eax, dword [esp + 4]
test eax, eax
je 0x82375f
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov eax, dword [eax + 0x24]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [0xabeeb4]
lea edx, [0x861cc0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0072f7c0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x8236c2
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x8236c6
xor ecx, ecx
xor eax, eax
test ecx, ecx
jne 0x8236ce
xor eax, eax
jmp 0x823715
lea edx, [0x8815e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0072a910
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x8236f0
xor eax, eax
jmp 0x823715
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
test eax, eax
jne 0x823708
xor eax, eax
jmp 0x823715
mov dword [esp], eax
call fcn.00833b30
movzx eax, byte [esp + 4]
mov byte [esp + 0x27], al
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x34], edx
xor ebx, ebx
mov ebp, dword [esp + 0x2c]
jmp 0x8237d2
mov dword [esp], ebp
call fcn.007e54c0
movzx eax, byte [esp + 4]
test al, al
je 0x823b4c
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x38]
jmp 0x823637
lea eax, [0x89b887]
mov dword [esp], eax
mov dword [esp + 4], 0x13
call fcn.0081e9d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
call fcn.00757b80
add esp, 0xa8
ret
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
call fcn.00757b80
add esp, 0xa8
ret
mov ecx, dword [esp + 0x68]
add ecx, 0x18
mov edx, dword [esp + 0x30]
lea ebx, [edx + 1]
mov edx, dword [esp + 0x34]
mov ebp, eax
movzx eax, byte [esp + 0x27]
cmp ebx, edx
jge 0x823736
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x68], ecx
lea edi, [esp + 0x90]
mov esi, ecx
call fcn.00785d24
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [eax + 0x1c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
test eax, eax
jne 0x823818
mov eax, dword [esp + 0x2c]
jmp 0x8237b9
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [eax + 0x1c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [0xabeeb4]
lea edx, [0x861cc0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0072f7c0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x823860
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x823864
xor ecx, ecx
xor eax, eax
test ecx, ecx
jne 0x823871
mov eax, dword [esp + 0x2c]
jmp 0x8237b9
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x70]
mov ebx, dword [edx]
test ebx, ebx
jne 0x823932
mov dword [esp + 0x28], ecx
mov edx, dword [ecx + 0x68]
mov dword [esp], eax
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x70]
mov dword [edx], eax
mov eax, dword [0xae4cf0]
test eax, eax
je 0x8238b4
call fcn.00785690
mov dword [edi], ecx
mov eax, dword [edx + 4]
mov dword [edi + 4], eax
mov dword [edx + 4], ecx
mov eax, dword [edx]
test eax, eax
je 0x82392e
lea eax, [0x869120]
mov dword [esp], eax
call fcn.0072ce10
mov eax, dword [esp + 4]
lea ecx, [0x823b90]
mov dword [eax], ecx
mov edx, dword [0xae4cf0]
test edx, edx
jne 0x8238e7
mov edx, dword [esp + 0x70]
jmp 0x8238f2
call fcn.00785680
mov edx, dword [esp + 0x70]
mov dword [edi], edx
mov dword [eax + 4], edx
mov ebx, dword [esp + 0x28]
mov dword [eax + 8], ebx
mov ebp, dword [0xae4cf0]
test ebp, ebp
jne 0x82390c
mov ebp, dword [esp + 0x60]
jmp 0x823917
call fcn.00785680
mov ebp, dword [esp + 0x60]
mov dword [edi], ebp
mov dword [eax + 0xc], ebp
mov dword [esp], eax
call fcn.00757510
test eax, eax
jne 0x823b40
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
lea eax, [0x881c60]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0072a860
mov eax, dword [esp + 8]
mov dword [esp + 0x64], eax
mov ecx, dword [eax + 0x34]
mov edx, dword [esp + 0x60]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
cmp eax, ecx
jne 0x823a0d
mov esi, dword [esp + 0x9c]
cmp esi, edx
jne 0x8239a5
cmp dword [esp + 0xa0], ebx
jne 0x8239a1
cmp dword [esp + 0xa4], ebp
jne 0x82399d
mov eax, dword [esp + 0x2c]
jmp 0x8237b9
cmp eax, ecx
jmp 0x8239a7
cmp eax, ecx
jmp 0x8239a7
cmp eax, ecx
jne 0x823a03
cmp esi, edx
jne 0x8239f9
cmp dword [esp + 0xa0], ebx
jne 0x8239ef
mov esi, edx
mov edx, dword [esp + 0x64]
mov edi, eax
lea eax, [0x8cf9fc]
cmp edx, eax
jne 0x8239dd
lea eax, [ebp + 1]
cmp dword [esp + 0xa4], eax
jne 0x823a15
mov eax, dword [esp + 0x2c]
jmp 0x8237b9
cmp dword [esp + 0xa4], ebp
jne 0x823a15
mov eax, dword [esp + 0x2c]
jmp 0x8237b9
mov esi, edx
mov edi, eax
mov edx, dword [esp + 0x64]
jmp 0x823a15
mov esi, edx
mov edi, eax
mov edx, dword [esp + 0x64]
jmp 0x823a15
mov esi, edx
mov edi, eax
mov edx, dword [esp + 0x64]
jmp 0x823a15
mov esi, edx
mov edi, eax
mov edx, dword [esp + 0x64]
movzx eax, byte [esp + 0x27]
test al, al
je 0x823a55
cmp dword [esp + 0xa0], ebx
jne 0x823a55
cmp dword [esp + 0xa4], ebp
jne 0x823a55
cmp edi, ecx
jne 0x823a3d
cmp dword [esp + 0x9c], esi
je 0x823a55
mov eax, dword [edx + 0x8c]
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 0x27]
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [eax + 0x1c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x2c]
mov dword [esp], ebp
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 0x214
call fcn.007e4e80
mov eax, dword [esp + 0x20]
test eax, eax
je 0x823b08
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax + 0x7c]
mov edx, dword [esp + 0x60]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov eax, dword [eax + 4]
test eax, eax
jne 0x823ae3
mov eax, dword [esp + 0x2c]
jmp 0x8237b9
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.00833830
mov eax, dword [esp + 0x2c]
jmp 0x8237b9
lea eax, [0x899614]
mov dword [esp], eax
mov dword [esp + 4], 0xe
call fcn.0081e9d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
call fcn.00757b80
add esp, 0xa8
ret
call fcn.00757b80
add esp, 0xa8
ret
lea eax, [0x89aacc]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.0081e9d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
call fcn.00757b80
add esp, 0xa8
ret
call fcn.00784280
jmp fcn.00823560