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

Disassembly:
sub esp, 0x48
push ebx
push ebp
mov ebp, dword [esp + 0x54]
push esi
push edi
mov edi, edx
test edi, edi
mov ebx, eax
mov esi, ecx
je 0x5011d4
test esi, esi
je 0x5011d4
test ebp, ebp
je 0x5011d4
movzx eax, word [edi + 8]
push 0x58
push 0
push esi
mov dword [esp + 0x20], eax
call fcn.005c0060
push 0x40
lea ecx, [edi + 0x884]
push 0
push ecx
call fcn.005c0060
add esp, 0x18
cmp ebx, 0x80
jb 0x500e9b
movzx eax, byte [ebp]
sub eax, 0x54
jne 0x500e77
movzx eax, byte [ebp + 1]
sub eax, 0x41
lea ecx, [ebp + 1]
jne 0x500e77
movzx eax, byte [ecx + 1]
add ecx, 1
sub eax, 0x47
je 0x500e85
test eax, eax
mov ecx, 1
jg 0x500e87
or ecx, 0xffffffff
jmp 0x500e87
xor ecx, ecx
test ecx, ecx
jne 0x500e9b
pop edi
mov dword [esi], 0x80
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret
push ebx
lea edx, [esp + 0x38]
push ebp
push edx
call fcn.00535440
add esp, 0xc
cmp byte [edi], 0
je 0x500ed6
mov al, byte [edi + 0x8ce]
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x20]
push edx
mov byte [esp + 0x3a], al
call fcn.005381d0
add esp, 8
test al, al
mov byte [esi + 9], al
ja 0x50116e
mov eax, dword [edi + 0x140]
push eax
lea ecx, [edi + 0x66d]
push ecx
lea edx, [esp + 0x3c]
push edx
push esi
push edi
call fcn.00538cf0
mov bl, byte [edi + 0x14]
add esp, 0x14
cmp byte [esi + 9], 0
ja 0x50116e
test bl, bl
je 0x50116a
cmp bl, 0x40
ja 0x50116a
lea eax, [esp + 0x34]
push eax
call fcn.00535540
add eax, 7
shr eax, 3
add esp, 4
cmp byte [esp + 0x49], 0
mov dword [esi], eax
je 0x500f36
mov byte [esi + 9], 0xe
jmp 0x50116e
lea ecx, [esp + 0x34]
push ecx
call fcn.00535510
add esp, 4
cmp byte [edi], 0
jne 0x500f6d
cmp byte [edi + 1], 0
jne 0x500f6d
cmp byte [edi + 4], 0
jne 0x500f57
mov byte [edi + 4], bl
cmp bl, 8
jne 0x500f62
mov byte [edi + 4], 7
jmp 0x500f86
cmp bl, 7
jne 0x500f6d
mov byte [edi + 4], 0
jmp 0x500f86
cmp bl, 5
je 0x500f77
cmp bl, 6
jne 0x500f86
cmp byte [edi + 0x8cd], 0
je 0x500f86
mov byte [edi + 0x10], 1
mov bl, 2
cmp bl, 1
mov byte [esp + 0x18], bl
mov byte [edi + 0x11], 0
jne 0x500f9c
mov byte [edi + 0x11], bl
mov bl, 2
mov byte [esp + 0x18], bl
push edi
call fcn.005009d0
movzx ebp, word [esp + 0x18]
movzx eax, bl
imul eax, ebp
mov dword [esi + 4], eax
mov byte [esi + 8], bl
movzx edx, byte [edi + 2]
push edx
call fcn.00534540
mov dword [esi + 0xc], eax
mov al, byte [edi + 3]
add esp, 8
mov byte [esi + 0x11], al
mov byte [esi + 0x10], 0
mov byte [esi + 0x12], 0
cmp byte [edi + 1], 0
je 0x500fdb
mov byte [esi + 0x12], 1
cmp byte [edi], 0
je 0x500fe4
mov byte [esi + 0x12], 2
mov cl, byte [edi + 0x468]
mov byte [esi + 0x57], cl
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x500ff9
cmp byte [edi + 0x76], bl
je 0x501066
cmp byte [edi + 0x344], 1
movzx edx, byte [edi + 0x8cc]
mov al, byte [edx + 0x63112f]
mov byte [esp + 0x13], al
jne 0x50101c
cmp byte [edi + 0x346], 0
je 0x501025
cmp byte [edi + 0x345], 1
jne 0x50102b
add al, al
mov byte [esp + 0x13], al
mov edx, dword [esp + 0x64]
test edx, edx
jne 0x501072
test ecx, ecx
je 0x501044
push ecx
call fcn.00534610
mov al, byte [esp + 0x17]
add esp, 4
movzx ecx, al
movzx eax, bl
imul ecx, eax
imul ecx, ebp
push ecx
mov dword [edi + 0x78], 0
call fcn.00534600
add esp, 4
mov dword [edi + 0x78], eax
mov byte [edi + 0x76], bl
cmp dword [esp + 0x64], 0
jne 0x501090
mov ecx, dword [edi + 0x78]
jmp 0x501096
movzx ecx, al
movzx eax, bl
imul ecx, eax
imul ecx, ebp
cmp edx, ecx
jae 0x501063
pop edi
mov byte [esi + 9], 0x1b
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x48
ret
mov edx, dword [esp + 0x60]
mov ecx, dword [edx]
cmp byte [edi + 0x344], 1
je 0x5010a8
cmp byte [edi + 0x345], 1
jne 0x50111e
cmp byte [edi + 0x346], 0
jne 0x5010cf
mov eax, dword [esp + 0x14]
lea edx, [eax + eax]
movzx eax, dx
mov edx, dword [esi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
add edx, edx
add eax, eax
mov dword [esi + 4], edx
mov dword [esi + 0xc], eax
xor al, al
cmp byte [edi + 0x15], al
jbe 0x5010f4
jmp 0x5010e0
movzx edx, al
cmp dword [edi + edx*4 + 0x378], 0
je 0x501107
add al, 1
cmp al, byte [edi + 0x15]
jb 0x5010e0
cmp byte [edi + 0x344], 1
jne 0x50110d
mov byte [esi + 0x11], 5
mov byte [esi + 0x10], 1
jmp 0x501111
mov byte [esi + 9], 0x19
jmp 0x50116e
mov byte [esi + 0x10], 3
cmp byte [edi + 0x346], 0
je 0x50111e
mov byte [esi + 0x10], 2
movzx eax, byte [edi + 0x8cc]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
push edx
push eax
push ecx
lea ecx, [edi + 0x144]
push ecx
push edi
call fcn.0053b160
add dword [edi + 0xc], 1
mov ecx, dword [edi + 0xc]
add esp, 0x18
cmp byte [edi + 3], 0x17
mov byte [edi + 0xa], 0
je 0x501157
cmp ecx, 1
jmp 0x501159
test ecx, ecx
ja 0x5011d6
pop edi
mov dword [esi + 4], 0
pop esi
pop ebp
pop ebx
add esp, 0x48
ret
mov byte [esi + 9], 0xc
lea esi, [edi + 0x244]
mov ebx, 0x40
lea esp, [esp]
mov eax, dword [esi]
test eax, eax
je 0x50119a
movzx edx, word [edi + 8]
add edx, edx
add edx, edx
push edx
push 0
push eax
call fcn.005c0060
add esp, 0xc
add esi, 4
sub ebx, 1
jne 0x501180
lea esi, [edi + 0x378]
mov edi, 0x30
lea ecx, [ecx]
mov eax, dword [esi]
test eax, eax
je 0x5011bf
push eax
call fcn.005396d0
add esp, 4
add esi, 4
sub edi, 1
jne 0x5011b0
lea eax, [esp + 0x34]
push eax
call fcn.00535510
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x48
ret