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

Disassembly:
sub esp, 0x418
mov eax, dword [0x8a3940]
xor eax, esp
mov dword [esp + 0x414], eax
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x42c]
lea eax, [esp + 0x24]
push 0x400
push eax
push dword [edi + 0x70]
push dword [edi + 0x7c]
call fcn.0052dcd0
movzx ebx, word [esp + 0x22c]
add esp, 0x10
cmp dword [edi + 0x70], 0
mov eax, ebx
movzx ebp, word [esp + 0x220]
mov dword [esp + 0x1c], eax
movzx eax, word [esp + 0x21e]
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x222]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x74], eax
jne 0x5348cd
mov ecx, dword [esp + 0x38]
xor eax, eax
bswap ecx
mov edx, 0x200
mov esi, 0x400
cmp ecx, 0x52434842
je 0x5348a4
cmp ecx, 0x42484352
jne 0x5348b8
movzx esi, word [esp + 0x34]
xor eax, eax
cmp byte [esp + 0x33], 0x21
movzx edx, word [esp + 0x36]
sete al
push esi
push edx
push eax
push dword [edi + 0x7c]
call fcn.00532430
add esp, 0x10
test eax, eax
jne 0x5348cd
mov dword [edi + 0x74], eax
mov eax, dword [edi + 0x74]
test eax, eax
je 0x534d24
mov esi, dword [edi + 0x7c]
xor edx, edx
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x5348ec
cmp eax, 0xffffffff
setne dl
jmp 0x5348fa
movzx ecx, word [esi + 0x2e]
div ecx
mov ecx, dword [esi + 0x28]
neg edx
sbb edx, edx
inc edx
test edx, edx
je 0x534d24
test ecx, ecx
je 0x534910
movzx eax, word [esi + 0x30]
mov dword [esp + 0x20], eax
jmp 0x534918
mov dword [esp + 0x20], 0
push dword [esi + 8]
call fcn.004e2850
mov ecx, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x14], eax
mov esi, edx
mov eax, dword [edi + 0x74]
xor edx, edx
call fcn.0059c200
cmp edx, esi
jg 0x534d24
jl 0x53494b
cmp eax, dword [esp + 0x14]
jae 0x534d24
mov ecx, dword [edi + 0x7c]
mov ax, word [esp + 0x30]
cmp ax, word [ecx + 0x32]
ja 0x534d24
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
movzx ecx, dx
movzx esi, ax
mov dword [esp + 0x18], ecx
lea eax, [esi + ecx]
cmp eax, 0x200
ja 0x534d24
mov ecx, ebx
lea eax, [ecx + esi]
mov dword [esp + 0x14], eax
cmp eax, 0x200
ja 0x534d24
mov esi, dword [esp + 0x18]
mov eax, ebp
add esi, eax
cmp esi, 0x200
ja 0x534d24
cmp bp, bx
jae 0x5349bd
cmp esi, ecx
jbe 0x5349d1
cmp byte [esp + ecx + 0x224], 0
je 0x5349d1
jmp 0x534d24
cmp dword [esp + 0x14], eax
jbe 0x5349d1
cmp byte [esp + ecx + 0x224], 0
jne 0x534d24
test bp, bp
jne 0x5349ee
test dx, dx
je 0x534a02
test bx, bx
jne 0x534a14
mov ebp, dword [esp + 0x10]
test bp, bp
je 0x534a26
movzx ebx, dx
jmp 0x534a31
mov esi, dword [esp + 0x1c]
movzx ebx, si
test dx, dx
jne 0x534a14
movzx ebx, si
cmp si, bp
jb 0x534a07
movzx ecx, bx
jmp 0x534a0f
mov ecx, 0x200
movzx ebx, si
sub ecx, ebp
movzx edx, cx
cmp word [esp + 0x10], 0
jne 0x534a2d
cmp bx, bp
jbe 0x534a26
mov eax, 0x200
sub eax, ebx
movzx ebp, ax
jmp 0x534a31
mov ebp, dword [esp + 0x10]
movzx esi, dx
lea eax, [esi + 1]
push eax
call fcn.004a67c0
push esi
lea ecx, [esp + 0x22c]
mov dword [edi + 4], eax
push ecx
push eax
call fcn.00579730
mov esi, dword [edi + 0x7c]
add esp, 0x10
mov cx, word [esp + 0x30]
mov word [edi + 0x16], cx
movzx ecx, cx
movzx eax, word [esi + 0x2e]
add ecx, 8
sub eax, 0xc
mov dword [edi + 0x34], 0
cdq
idiv ecx
mov dword [edi + 0x3c], 0
mov word [edi + 0x78], ax
mov al, byte [esp + 0x32]
movzx ecx, al
mov byte [edi + 0x1b], al
mov eax, ecx
and eax, 1
mov dword [edi + 0x20], eax
mov eax, ecx
shr eax, 1
and eax, 1
shr ecx, 2
mov dword [edi + 0x30], eax
and ecx, 1
xor eax, eax
mov dword [edi + 0x24], ecx
cmp word [esp + 0x21a], ax
mov dword [edi + 0x2c], ecx
sete al
mov dword [edi + 0x28], ecx
mov dword [edi + 0x38], eax
mov dword [edi + 0x1c], eax
mov al, byte [esp + 0x33]
cmp al, 1
je 0x534ace
cmp al, 0x21
je 0x534ace
xor eax, eax
jmp 0x534adb
xor eax, eax
cmp byte [esp + 0x217], 1
sete al
mov dword [edi + 0x40], eax
cmp byte [edi + 0x1b], 0
jl 0x534d2b
mov edx, dword [edi + 4]
cmp byte [edx], 0
je 0x534d24
mov eax, dword [esi + 0xc]
push edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x140]
call eax
add esp, 8
cmp eax, 1
je 0x534d24
mov ecx, dword [edi + 0x7c]
push 0
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x18]
mov dword [edi + 0xc], eax
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x18], 0
mov eax, dword [edi + 0x7c]
mov ecx, dword [eax + 0xc]
push ecx
mov eax, dword [ecx + 0xec]
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
push dword [edi + 0xc]
call fcn.0049d860
push eax
call fcn.0051f750
movzx ecx, al
add esp, 0x10
cmp ecx, 0x43
mov word [edi + 0x14], cx
setne al
dec al
and al, 0x20
mov byte [edi + 0x1a], al
cmp ecx, 0x43
jne 0x534b79
mov eax, dword [edi + 0x7c]
push dword [eax + 0xc]
call fcn.0052ebb0
add esp, 4
jmp 0x534b80
mov dword [edi + 0x40], 0
mov eax, dword [edi + 0x7c]
push dword [edi + 4]
push dword [eax + 0xc]
call fcn.0050e740
mov word [edi + 0x18], ax
add esp, 8
movzx eax, bx
lea ebx, [esp + 0x224]
add ebx, eax
cmp byte [ebx], 0
je 0x534c68
movzx esi, bp
lea eax, [esi + 1]
push eax
call fcn.004a67c0
push esi
push ebx
push eax
mov dword [edi + 8], eax
call fcn.00579730
mov eax, dword [edi + 0x7c]
push dword [edi + 8]
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x140]
call eax
add esp, 0x18
cmp eax, 1
je 0x534c61
mov ecx, dword [edi + 0x7c]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0x18]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0xc]
mov dword [eax + 0x18], 0
push dword [edi + 0x10]
call fcn.0049d860
push eax
call fcn.0051f750
add esp, 8
cmp al, 0x4c
je 0x534c68
mov eax, dword [edi + 0x7c]
mov ebx, dword [eax + 0xc]
call fcn.004a5c50
test ax, ax
jne 0x534c61
call fcn.004b4900
mov esi, eax
push 0x21
push esi
call fcn.004b4a20
push 0x41d
push esi
call fcn.004b4ac0
push 0
push esi
call fcn.004b4a80
push 0x21
call fcn.004da950
push eax
push esi
call fcn.004b49c0
mov eax, dword [ebx]
push esi
push ebx
mov eax, dword [eax + 0x144]
call eax
push esi
call fcn.004b5150
add esp, 0x30
mov dword [edi + 0x74], 0
mov eax, dword [edi + 0x7c]
push dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
call eax
mov ebp, dword [edi + 0x7c]
add esp, 8
movzx eax, word [edi + 0x16]
cmp ax, word [ebp + 0x32]
ja 0x534cc6
movzx ecx, word [edi + 0x14]
cmp ecx, 0x55
je 0x534cc6
cmp ecx, 0x4e
jne 0x534cab
cmp eax, 8
je 0x534d2b
cmp eax, 4
jne 0x534cc6
jmp 0x534d2b
cmp ecx, 0x44
jne 0x534cb7
cmp eax, 8
jne 0x534cc6
jmp 0x534d2b
cmp ecx, 0x54
je 0x534cb0
cmp ecx, 0x4c
jne 0x534d2b
cmp eax, 1
je 0x534d2b
mov ebp, dword [ebp + 0xc]
xor ebx, ebx
cmp word [edi + 0x14], 0x55
setne bl
add ebx, 0x21
call fcn.004a5c50
test ax, ax
jne 0x534d24
call fcn.004b4900
mov esi, eax
push ebx
push esi
call fcn.004b4a20
push 0x402
push esi
call fcn.004b4ac0
push 0
push esi
call fcn.004b4a80
push ebx
call fcn.004da950
push eax
push esi
call fcn.004b49c0
mov eax, dword [ebp]
push esi
push ebp
mov eax, dword [eax + 0x144]
call eax
push esi
call fcn.004b5150
add esp, 0x30
mov dword [edi + 0x74], 0
mov ecx, dword [esp + 0x424]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059bb21
add esp, 0x418
ret