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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x50
push 0
push 0
dec ecx
jne 0x503e18
push ebx
mov ebx, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404dd4
xor eax, eax
push ebp
push 0x50b680
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, ebx
call fcn.00404924
mov eax, dword [0x5a2324]
movzx eax, byte [eax]
cmp eax, 0xf
ja case.default.0x505c0b
jmp dword [eax*4 + 0x503e5a]
mov eax, dword [ebp - 4]
call fcn.0050f2c0
mov eax, ebx
mov edx, 0x50b694
call fcn.00404bec
call fcn.00502e80
test al, al
jne 0x503eed
mov eax, dword [0x5a2548]
cmp byte [eax], 1
jne 0x503eed
push dword [ebx]
push 0x50b6a8
push 0x50b6b8
push 0x50b6cc
mov eax, dword [0x5a19bc]
push dword [eax + 0xc]
push 0x50b6dc
mov eax, ebx
mov edx, 6
call fcn.00404ca4
jmp 0x503f25
mov eax, dword [0x5a19bc]
cmp byte [eax + 4], 0
je 0x503f25
push dword [ebx]
push 0x50b6a8
mov eax, dword [0x5a19bc]
push dword [eax + 8]
push 0x50b6cc
mov eax, dword [0x5a19bc]
push dword [eax + 0xc]
push 0x50b6dc
mov eax, ebx
mov edx, 6
call fcn.00404ca4
mov eax, dword [0x5a19bc]
cmp byte [eax + 0x11], 0
je 0x503f3c
mov eax, ebx
mov edx, 0x50b6e8
call fcn.00404bec
mov eax, dword [0x5a19bc]
movzx eax, byte [eax + 0x10]
cmp eax, 0xa
ja case.default.0x503f4e
jmp dword [eax*4 + 0x503f55]
mov eax, ebx
mov edx, 0x50b6f8
call fcn.00404bec
mov eax, dword [0x5a19bc]
cmp byte [eax + 0x20], 0
jne 0x503fdb
push dword [ebx]
push 0x50b714
lea edx, [ebp - 8]
mov eax, dword [0x5a19bc]
mov eax, dword [eax + 0x24]
call fcn.0040948c
push dword [ebp - 8]
push 0x50b720
lea edx, [ebp - 0xc]
mov eax, dword [0x5a19bc]
mov eax, dword [eax + 0x28]
call fcn.0040948c
push dword [ebp - 0xc]
push 0x50b6dc
mov eax, ebx
mov edx, 6
call fcn.00404ca4
mov eax, dword [0x5a19bc]
cmp byte [eax + 0x14], 0
je 0x504013
push dword [ebx]
push 0x50b72c
lea edx, [ebp - 0x10]
mov eax, dword [0x5a19bc]
mov eax, dword [eax + 0x18]
call fcn.0040948c
push dword [ebp - 0x10]
push 0x50b738
mov eax, ebx
mov edx, 4
call fcn.00404ca4
jmp 0x50403e
push dword [ebx]
push 0x50b72c
lea edx, [ebp - 0x14]
mov eax, dword [0x5a19bc]
mov eax, dword [eax + 0x1c]
call fcn.0040948c
push dword [ebp - 0x14]
push 0x50b738
mov eax, ebx
mov edx, 4
call fcn.00404ca4
mov eax, dword [0x5a19bc]
cmp byte [eax + 0x2c], 0
jne 0x50415c
mov eax, dword [0x5a19bc]
movzx eax, byte [eax + 0x2d]
cmp eax, 0xc
ja case.default.0x50405f
jmp dword [eax*4 + 0x504066]
mov eax, ebx
mov edx, 0x50b744
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b754
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b764
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b778
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b788
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b79c
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b7b0
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b7c0
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b7d0
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b7e4
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b7f4
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b804
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b818
call fcn.00404bec
jmp case.default.0x50405f
mov eax, ebx
mov edx, 0x50b7c0
call fcn.00404bec
mov eax, dword [0x5a19bc]
mov al, byte [eax + 0x2e]
sub al, 1
jb 0x50417f
je 0x50418d
dec al
je 0x50419e
jmp case.default.0x503f4e
mov eax, ebx
mov edx, dword [ebx]
call fcn.00404978
jmp case.default.0x503f4e
mov eax, ebx
mov edx, 0x50b828
call fcn.00404bec
jmp case.default.0x503f4e
mov eax, ebx
mov edx, 0x50b840
call fcn.00404bec
jmp case.default.0x503f4e
mov eax, ebx
mov edx, 0x50b858
call fcn.00404bec
mov eax, dword [0x5a19bc]
cmp byte [eax + 0x38], 0
jne 0x504209
push dword [ebx]
push 0x50b714
lea edx, [ebp - 0x18]
mov eax, dword [0x5a19bc]
mov eax, dword [eax + 0x3c]
call fcn.0040948c
push dword [ebp - 0x18]
push 0x50b720
lea edx, [ebp - 0x1c]
mov eax, dword [0x5a19bc]
mov eax, dword [eax + 0x40]
call fcn.0040948c
push dword [ebp - 0x1c]
push 0x50b6dc
mov eax, ebx
mov edx, 6
call fcn.00404ca4
mov eax, dword [0x5a19bc]
cmp byte [eax + 0x2f], 0
je 0x504241
push dword [ebx]
push 0x50b72c
lea edx, [ebp - 0x20]
mov eax, dword [0x5a19bc]
mov eax, dword [eax + 0x30]
call fcn.0040948c
push dword [ebp - 0x20]
push 0x50b738
mov eax, ebx
mov edx, 4
call fcn.00404ca4
jmp 0x50426c
push dword [ebx]
push 0x50b72c
lea edx, [ebp - 0x24]
mov eax, dword [0x5a19bc]
mov eax, dword [eax + 0x34]
call fcn.0040948c
push dword [ebp - 0x24]
push 0x50b738
mov eax, ebx
mov edx, 4
invalid
cmp byte [edx], cl
invalid