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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x53109b
sub esp, 0x138
lea eax, [0x5cdaa0]
mov dword [esp], eax
mov dword [esp + 4], 0xfe
mov dword [esp + 8], 0xfe
call fcn.00434f20
mov eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xf8], ecx
lea edx, [0x5c8900]
mov dword [esp], edx
call fcn.0040d050
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
test ecx, ecx
jbe 0x531094
mov ecx, dword [esp + 0xf8]
mov dword [eax + 4], ecx
mov ecx, dword [0x78d074]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004cd650
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x531050
xor eax, eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x53097f
inc eax
mov ebp, dword [esp + 0x58]
cmp eax, ebp
jge 0x53101e
mov esi, dword [esp + 0xf8]
movzx edi, byte [esi + eax]
xchg edi, eax
mov byte [esp + 0x37], al
xchg edi, eax
add edi, 0xffffffbf
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x53097e
mov dword [esp + 0x70], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x108], edx
mov dword [esp + 0x40], ebx
call fcn.005314f0
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp]
mov dword [esp + 0x104], ecx
lea edx, [esp + 0x78]
mov dword [esp], edx
movzx edx, byte [esp + 0x37]
movzx edx, dl
mov dword [esp + 0x68], edx
mov dword [esp + 4], edx
mov dword [esp + 8], 0
call fcn.00438540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp], 0
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
call fcn.00437f50
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe8], ecx
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004ce020
mov eax, dword [esp + 8]
mov dword [esp + 0xe0], eax
lea ecx, [0x5c7cc0]
mov dword [esp], ecx
call fcn.0040d050
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xe0]
mov dword [eax], ecx
mov ecx, dword [0x78d06c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004cd650
mov eax, dword [esp + 0x10]
test eax, eax
je 0x530fd9
mov dword [esp + 0x38], eax
cmp eax, 2
je 0x530acb
cmp eax, 3
je 0x530acb
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0xf8]
mov ebx, edx
mov edx, eax
mov eax, dword [esp + 0x70]
jmp 0x53097e
lea eax, [0x5cdaa0]
mov dword [esp], eax
mov dword [esp + 4], 0x100
mov dword [esp + 8], 0x100
call fcn.00434f20
mov eax, dword [esp + 0xc]
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
lea edx, [0x5cd1a0]
mov dword [esp], edx
call fcn.0040d050
mov eax, dword [esp + 4]
mov dword [esp + 0x10c], eax
lea ecx, [0x5cd1a0]
mov dword [esp], ecx
call fcn.0040d050
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
lea ecx, [0x5cd1a0]
mov dword [esp], ecx
call fcn.0040d050
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
lea ecx, [0x5cdaa0]
mov dword [esp], ecx
mov dword [esp + 4], 0x100
mov dword [esp + 8], 0x100
call fcn.00434f20
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xf4], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
call fcn.005315e0
mov eax, dword [esp + 4]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp]
mov dword [esp + 0x104], ecx
lea edx, [esp + 0x74]
mov dword [esp], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov dword [esp + 8], 0
call fcn.00438540
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0xbc]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
call fcn.00437f50
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004ce020
mov eax, dword [esp + 8]
mov dword [esp + 0xdc], eax
lea ecx, [0x5cac80]
mov dword [esp], ecx
call fcn.0040d050
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xdc]
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
test ecx, ecx
jbe 0x53108d
mov edx, dword [esp + 0xf0]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x110]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x114]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x50]
test ecx, ecx
jbe 0x531086
mov edx, dword [esp + 0xf4]
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ecx
mov edx, dword [0x78d070]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], 8
mov dword [esp + 0xc], 8
call fcn.004cd650
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x530d0b
mov edx, dword [esp + 0x38]
cmp edx, 5
jne 0x530ccd
mov eax, dword [esp + 0x70]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0xf8]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x108]
mov ecx, dword [esp + 0x3c]
jmp 0x53097e
cmp edx, 2
je 0x530caa
mov edx, dword [esp + 0x108]
mov dword [esp + 0x148], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
call fcn.005316d0
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
mov ebp, dword [edx]
mov esi, dword [0x7771c4]
mov edi, dword [0x7771c0]
test ebx, esi
setne bl
test ebp, edi
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x530fc1
mov ebx, dword [0x7771cc]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
mov esi, dword [0x7771c8]
test ebx, ebp
setne bl
test edx, esi
setne dl
or edx, ebx
test dl, dl
jne 0x530f76
mov dword [esp + 0xec], ecx
mov dword [esp + 0x48], eax
call fcn.005319b0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
lea edx, [esp + 0x9c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004381f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], edx
call fcn.00531aa0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
lea edx, [esp + 0x7c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004381f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x100]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 0xffffffff
call fcn.0049e920
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x30]
lea edi, [esp + 0x118]
mov ebx, eax
xor eax, eax
call fcn.004485c8
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x120], ecx
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x124], ebp
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], ebp
mov dword [esp], 0
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.004380d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
mov eax, dword [esp + 0xec]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x40]
cmp ecx, edx
jg 0x530f39
mov ebx, dword [esp + 0x108]
mov dword [esp + 0x6c], ecx
mov ebp, dword [0x79e7b0]
shl eax, 5
lea edi, [ebx + eax]
test ebp, ebp
jne 0x530f04
lea esi, [esp + 0x118]
call fcn.00448a90
mov eax, ebx
mov ecx, dword [esp + 0x6c]
jmp 0x530ab3
mov dword [esp + 0xe4], ebx
mov dword [esp + 0x60], edx
lea eax, [0x5e00e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x118]
mov dword [esp + 8], eax
call fcn.0040d9d0
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0xe4]
jmp 0x530ef9
lea ebx, [0x5e00e0]
mov dword [esp], ebx
mov ebp, dword [esp + 0x108]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004350a0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x3c]
jmp 0x530ed9
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x5c], eax
call fcn.005318b0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp], 0
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00437f50
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x530d6e
call fcn.005317c0
mov ecx, dword [esp]
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x114]
jmp 0x530d49
call fcn.004ce6a0
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, dword [esp + 0x108]
mov dword [esp + 0x148], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14c], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x150], edx
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
add esp, 0x138
ret
mov dword [esp + 0x148], edx
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
add esp, 0x138
ret
call fcn.00424360
ud2
call fcn.00424360
ud2
call fcn.00424360
ud2
call fcn.00446b60
jmp fcn.005308c0