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

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x30
push 0
push 0
dec ecx
jne 0x5033a9
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x503f58
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
cmp dword [ebp - 8], 0
je 0x503f3a
xor esi, esi
mov eax, edi
xor ecx, ecx
mov edx, 0x3b8
call fcn.00402f1c
cmp dword [ebp + 8], 0
je 0x5033fd
mov eax, dword [ebp + 8]
xor ecx, ecx
mov edx, 0x140
call fcn.00402f1c
mov eax, dword [ebp - 4]
lea ebx, [eax + esi]
mov al, byte [ebx]
xor edx, edx
mov dl, al
cmp edx, 0x38
ja case.0x503412.0
jmp dword [edx*4 + 0x503419]
lea edx, [ebp - 0x10c]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x10c]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x20]
mov cl, 0x20
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x110]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x41]
mov cl, 0x10
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov dword [edi + 0x54], eax
jmp case.0x503412.0
lea edx, [ebp - 0x114]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x114]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x58]
mov cl, 0x32
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x118]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x118]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x8b]
mov cl, 0x32
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x11c]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x11c]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0xbe]
mov cl, 0x32
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x120]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x120]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0xf1]
mov cl, 0x32
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x124]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x124]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x124]
mov cl, 0x32
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x128]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x128]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x157]
mov cl, 0x1e
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov dword [edi + 0x178], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov dword [edi + 0x17c], eax
jmp case.0x503412.0
lea edx, [ebp - 0x12c]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x12c]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x260]
mov cl, 0x20
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x130]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x130]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x281]
mov cl, 0x10
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x134]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x134]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x292]
mov cl, 0x10
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x138]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x138]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x2a3]
mov cl, 0x10
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x13c]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x13c]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x2b4]
mov cl, 0x10
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x140]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x140]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x2c5]
mov cl, 0x20
call fcn.00402e0c
jmp case.0x503412.0
push 0
push 0
lea edx, [ebp - 0x144]
mov eax, ebx
call fcn.005030a8
mov eax, dword [ebp - 0x144]
call fcn.00409b1c
mov dword [edi + 0x2e8], eax
mov dword [edi + 0x2ec], edx
jmp case.0x503412.0
lea edx, [ebp - 0x148]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x148]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x2f0]
mov cl, 0x20
call fcn.00402e0c
jmp case.0x503412.0
push 0
push 0
lea edx, [ebp - 0x14c]
mov eax, ebx
call fcn.005030a8
mov eax, dword [ebp - 0x14c]
call fcn.00409b1c
mov dword [edi + 0x318], eax
mov dword [edi + 0x31c], edx
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov word [edi + 0x320], ax
jmp case.0x503412.0
lea edx, [ebp - 0x150]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x150]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x322]
mov cl, 0x32
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov word [edi + 0x356], ax
jmp case.0x503412.0
lea edx, [ebp - 0x154]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x154]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x358]
mov cl, 0x14
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
cdq
mov dword [edi + 0x370], eax
mov dword [edi + 0x374], edx
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov word [edi + 0x378], ax
jmp case.0x503412.0
lea edx, [ebp - 0x158]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x158]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x37a]
mov cl, 0x32
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x15c]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x15c]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x180]
mov cl, 0x50
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov dword [edi + 0x1c], eax
jmp case.0x503412.0
cmp dword [ebp + 8], 0
je 0x503da5
and eax, 0xff
add eax, 0xffffffe2
cmp eax, 0x1a
ja case.0x503412.0
jmp dword [eax*4 + 0x503a65]
lea edx, [ebp - 0x160]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x160]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
mov eax, dword [ebp + 8]
mov cl, 0x10
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0x14], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0x18], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0x1c], eax
jmp case.0x503412.0
lea edx, [ebp - 0x164]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x164]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
mov eax, dword [ebp + 8]
add eax, 0x20
mov cl, 0x14
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0x38], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0x3c], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0x40], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.00503124
mov eax, dword [ebp + 8]
fstp qword [eax + 0x48]
wait
jmp case.0x503412.0
mov eax, ebx
call fcn.00503124
mov eax, dword [ebp + 8]
fstp qword [eax + 0x50]
wait
jmp case.0x503412.0
mov eax, ebx
call fcn.00503124
mov eax, dword [ebp + 8]
fstp qword [eax + 0x58]
wait
jmp case.0x503412.0
mov eax, ebx
call fcn.00503124
mov eax, dword [ebp + 8]
fstp qword [eax + 0x60]
wait
jmp case.0x503412.0
mov eax, ebx
call fcn.00503124
mov eax, dword [ebp + 8]
fstp qword [eax + 0x68]
wait
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov word [edx + 0x78], ax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov word [edx + 0x7a], ax
jmp case.0x503412.0
lea edx, [ebp - 0x168]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x168]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
mov eax, dword [ebp + 8]
add eax, 0x7c
mov cl, 0x1e
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0x9c], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0xa0], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0xa4], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0xac], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0xb0], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0xb4], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov edx, dword [ebp + 8]
mov dword [edx + 0xb8], eax
jmp case.0x503412.0
lea edx, [ebp - 0x16c]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x16c]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
mov eax, dword [ebp + 8]
add eax, 0xbc
mov cl, 0x40
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x170]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x170]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
mov eax, dword [ebp + 8]
add eax, 0xfd
mov cl, 0x40
call fcn.00402e0c
jmp case.0x503412.0
mov eax, ebx
call fcn.00503124
mov eax, dword [ebp + 8]
fstp qword [eax + 0x70]
wait
jmp case.0x503412.0
and eax, 0xff
add eax, 0xffffffe2
cmp eax, 6
ja case.0x503412.0
jmp dword [eax*4 + 0x503dbd]
mov eax, ebx
call fcn.005030d4
mov dword [edi + 0x3b0], eax
jmp case.0x503412.0
mov eax, ebx
call fcn.005030d4
mov dword [edi + 0x1d4], eax
jmp case.0x503412.0
lea edx, [ebp - 0x174]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x174]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x1d8]
mov cl, 0x14
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x178]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x178]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x1ed]
mov cl, 0x18
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x17c]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x17c]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x206]
mov cl, 0x20
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x180]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x180]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x227]
mov cl, 0x20
call fcn.00402e0c
jmp case.0x503412.0
lea edx, [ebp - 0x184]
mov eax, ebx
call fcn.005030a8
mov edx, dword [ebp - 0x184]
lea eax, [ebp - 0x108]
mov ecx, 0xff
call fcn.00404820
lea edx, [ebp - 0x108]
lea eax, [edi + 0x248]
mov cl, 0x10
call fcn.00402e0c
xor eax, eax
mov al, byte [ebx + 1]
add eax, 0x101
sub eax, 0xff
add esi, eax
cmp esi, dword [ebp - 8]
jl 0x5033fd
cmp byte [edi + 0x20], 0x1d
setae bl
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x503f5f
lea eax, [ebp - 0x184]
mov edx, 0x1f
call fcn.00404598
ret