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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x59bab7
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x601018]
xor eax, esp
mov dword [esp + 0xa0], eax
push ebx
push esi
push edi
mov eax, dword [0x601018]
xor eax, esp
push eax
lea eax, [esp + 0xb8]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov ebx, edx
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x68], eax
mov dword [esp + 0x1c], ecx
mov dword [eax], 0
test ebx, ebx
je 0x547089
cmp dword [ebp + 8], 0
jle 0x547089
xor edi, edi
mov eax, 0x5bc564
lea esi, [esp + 0x94]
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
call fcn.00402fe0
xor eax, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x88], eax
mov byte [esp + 0x78], al
mov eax, 0x5bc564
lea esi, [esp + 0x78]
mov dword [esp + 0x8c], 0xf
call fcn.00402fe0
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov edx, dword [ebp + 8]
lea eax, [ebx + edx]
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], edi
push 8
mov byte [esp + 0xc4], 4
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
test eax, eax
je 0x54705b
xor ecx, ecx
mov dword [esp + 0x50], eax
mov dword [eax], ecx
xor edx, edx
mov dword [eax + 4], edx
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x50]
mov dword [eax], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov esi, dword [esp + 0x1c]
mov eax, 0x5bc564
mov byte [esp + 0xc0], 5
call fcn.00402fe0
cmp ebx, dword [esp + 0x20]
jae 0x546fa4
mov al, byte [ebx]
cmp al, 0x20
je 0x546a42
cmp al, 0xd
je 0x546a42
cmp al, 0xa
jne 0x546a45
inc ebx
jmp 0x546a34
mov edi, dword [esp + 0x20]
mov ecx, edi
sub ecx, ebx
test ecx, ecx
jle 0x546a84
cmp byte [ebx], 0x25
jne 0x546a71
mov al, byte [ebx + 1]
inc ebx
cmp al, 0xd
je 0x546a6c
mov edi, edi
cmp al, 0xa
je 0x546a6c
mov al, byte [ebx + 1]
inc ebx
cmp al, 0xd
jne 0x546a60
inc ebx
mov dword [esp + 0x14], ebx
xor esi, esi
mov al, byte [ebx]
cmp al, 0x20
je 0x546a81
cmp al, 0xd
je 0x546a81
cmp al, 0xa
jne 0x546a8a
inc ebx
jmp 0x546a73
xor esi, esi
mov ebx, esi
jmp 0x546a73
movsx eax, byte [ebx]
push eax
mov dword [esp + 0x18], ebx
call dword [sym.imp.MSVCR100.dll_isprint]
add esp, 4
test eax, eax
je 0x546e8e
mov al, byte [ebx]
mov dword [esp + 0x34], ebx
cmp al, 0x3c
jne 0x546c21
cmp byte [ebx + 1], al
jne 0x546c21
lea edx, [esp + 0x1b]
push edx
lea eax, [esp + 0x54]
mov byte [esp + 0x1f], 1
call fcn.0052f590
add ebx, 2
mov dword [esp + 0x14], ebx
cmp ebx, edi
jae 0x546b2c
mov ecx, dword [esp + 0x60]
lea esp, [esp]
mov al, byte [ebx]
cmp al, 0x3c
jne 0x546b04
cmp byte [ebx + 1], al
jne 0x546b04
lea eax, [esp + 0x1b]
push eax
lea eax, [esp + 0x54]
mov byte [esp + 0x1f], 1
call fcn.0052f590
mov ecx, dword [esp + 0x60]
jmp 0x546b1c
cmp al, 0x3e
jne 0x546b1f
cmp byte [ebx + 1], al
jne 0x546b1f
cmp ecx, esi
je 0x546b1c
dec ecx
mov dword [esp + 0x60], ecx
jne 0x546b1c
mov dword [esp + 0x5c], esi
add ebx, 2
cmp ecx, esi
je 0x546b28
inc ebx
cmp ebx, edi
jb 0x546ae0
mov dword [esp + 0x14], ebx
mov eax, ebx
mov ecx, dword [esp + 0x78]
mov edi, 0x10
mov dword [esp + 0x88], esi
cmp dword [esp + 0x8c], edi
jae 0x546b4b
lea ecx, [esp + 0x78]
mov byte [ecx], 0
mov ecx, dword [esp + 0x34]
sub eax, ecx
push eax
mov eax, ecx
lea ecx, [esp + 0x7c]
call fcn.00445440
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x8c], edi
jae 0x546b71
lea eax, [esp + 0x78]
push eax
call fcn.005458b0
add esp, 4
test eax, eax
je 0x546e3d
mov ecx, 0x5ec984
lea edi, [esp + 0x78]
call fcn.00494830
test al, al
jne 0x546d09
mov ecx, 0x5ec988
call fcn.00494830
test al, al
jne 0x546d09
mov ecx, 0x5ec98c
call fcn.00494830
test al, al
jne 0x546d09
mov ecx, 0x5ec990
call fcn.00494830
test al, al
jne 0x546d09
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x24]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x546e0f
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x1c]
mov ebx, eax
lea esp, [esp]
push 0
push edi
or eax, 0xffffffff
call fcn.00445560
push esi
mov eax, 0x5ccf88
call fcn.0044aca0
add edi, 0x1c
dec ebx
jne 0x546c00
jmp 0x546e0f
cmp al, 0x5b
jne 0x546c45
cmp ebx, edi
jae 0x546b2c
lea ecx, [ecx]
cmp byte [ebx], 0x5d
je 0x546c3f
inc ebx
cmp ebx, edi
jb 0x546c30
jmp 0x546b28
inc ebx
jmp 0x546b28
cmp al, 0x3c
jne 0x546c60
cmp ebx, edi
jae 0x546b2c
cmp byte [ebx], 0x3e
je 0x546c3f
inc ebx
cmp ebx, edi
jb 0x546c51
jmp 0x546b28
cmp al, 0x28
jne 0x546c7f
cmp ebx, edi
jae 0x546b2c
lea esp, [esp]
cmp byte [ebx], 0x29
je 0x546c3f
inc ebx
cmp ebx, edi
jb 0x546c70
jmp 0x546b28
cmp al, 0x7b
jne 0x546c9f
cmp ebx, edi
jae 0x546b2c
jmp 0x546c90
cmp byte [ebx], 0x7d
je 0x546c3f
inc ebx
cmp ebx, edi
jb 0x546c90
jmp 0x546b28
inc ebx
mov dword [esp + 0x14], ebx
mov eax, ebx
cmp ebx, edi
jae 0x546b2e
mov edi, edi
mov al, byte [ebx]
cmp al, 0x20
je 0x546cd7
cmp al, 0xd
je 0x546cd7
cmp al, 0xa
je 0x546cd7
cmp al, 0x2f
je 0x546b28
cmp al, 0x5b
je 0x546cd7
cmp al, 0x3c
je 0x546cd7
cmp al, 0x28
je 0x546cd7
inc ebx
cmp ebx, edi
jb 0x546cb0
mov al, byte [ebx]
mov dword [esp + 0x14], ebx
cmp al, 0x2f
je 0x546b2c
cmp al, 0x5b
je 0x546b2c
cmp al, 0x3c
je 0x546b2c
cmp al, 0x28
je 0x546b2c
mov eax, ebx
inc ebx
mov dword [esp + 0x14], ebx
jmp 0x546b2e
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
cmp eax, edi
je 0x546d30
mov ecx, dword [esp + 0x3c]
push ecx
push edi
mov ecx, edi
call fcn.00450880
add esp, 8
mov ebx, eax
call fcn.0044af60
mov dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x28]
sub ecx, dword [esp + 0x24]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
push edi
lea ecx, [esp + 0x44]
call fcn.00450770
cmp edi, esi
jle 0x546dba
mov esi, dword [esp + 0x24]
mov dword [esp + 0x34], edi
push esi
or eax, 0xffffffff
xor ebx, ebx
lea ecx, [esp + 0x98]
call fcn.00403170
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x546d8b
lea eax, [esp + 0x94]
cmp byte [eax], 0x2f
jne 0x546da1
mov eax, dword [esp + 0x38]
lea edx, [esp + 0x94]
push edx
call fcn.0044aca0
lea ecx, [esp + 0x94]
lea edi, [esp + 0x40]
call fcn.00450600
add esi, 0x1c
dec dword [esp + 0x34]
jne 0x546d61
lea esi, [esp + 0x24]
call fcn.004506c0
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
sub ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x546e06
mov esi, dword [esp + 0x1c]
mov ebx, eax
push 0
push edi
or eax, 0xffffffff
call fcn.00445560
push esi
mov eax, 0x5ccf88
call fcn.0044aca0
add edi, 0x1c
dec ebx
jne 0x546dea
lea esi, [esp + 0x40]
call fcn.004506c0
mov esi, dword [esp + 0x1c]
push 0
lea eax, [esp + 0x7c]
push eax
or eax, 0xffffffff
call fcn.00445560
push 0xd
mov ebx, 1
call fcn.0044ad40
lea esi, [esp + 0x24]
call fcn.004506c0
mov ebx, dword [esp + 0x14]
jmp 0x546e4a
lea ecx, [esp + 0x78]
lea edi, [esp + 0x24]
call fcn.00450600
mov esi, dword [esp + 0x1c]
cmp ebx, dword [esp + 0x20]
jb 0x546a34
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
sub ecx, ebx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp edi, 1
jne 0x546f3b
push 0
push ebx
or eax, 0xffffffff
call fcn.00445560
jmp 0x546f7b
mov ecx, dword [esp + 0x68]
lea esi, [esp + 0x50]
mov dword [ecx], 3
call fcn.00420b00
mov edx, dword [esp + 0x50]
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
push edx
call esi
mov ebx, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x50], 0
test ebx, ebx
je 0x546ed2
mov edi, dword [esp + 0x44]
mov eax, ebx
call fcn.0044af60
push ebx
call esi
add esp, 4
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x546eeb
mov edi, dword [esp + 0x28]
mov eax, ebx
call fcn.0044af60
push ebx
call esi
add esp, 4
mov edi, 0x10
cmp dword [esp + 0x8c], edi
jb 0x546f03
mov eax, dword [esp + 0x78]
push eax
call esi
add esp, 4
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], 0
mov byte [esp + 0x78], 0
cmp dword [esp + 0xa8], edi
jb 0x546f34
mov ecx, dword [esp + 0x94]
push ecx
call esi
add esp, 4
xor eax, eax
jmp 0x54708c
jle 0x546f7b
xor ebx, ebx
test edi, edi
jle 0x546f7b
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], edx
jmp 0x546f50
mov eax, dword [esp + 0x20]
push 0
push eax
or eax, 0xffffffff
call fcn.00445560
lea eax, [edi - 1]
cmp ebx, eax
jge 0x546f71
push esi
mov eax, 0x5ccf88
call fcn.0044aca0
add dword [esp + 0x20], 0x1c
inc ebx
cmp ebx, edi
jl 0x546f50
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x24], ecx
je 0x546fa4
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
push edx
mov edi, ecx
push edi
call fcn.00450880
add esp, 8
mov esi, eax
call fcn.0044af60
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x1c]
mov dword [eax], 1
mov edx, dword [ecx + 0x10]
lea esi, [esp + 0x50]
mov dword [esp + 0x38], edx
call fcn.00420b00
mov eax, dword [esp + 0x50]
mov esi, dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
push eax
call esi
mov ebx, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x50], 0
test ebx, ebx
je 0x546ff3
mov edi, dword [esp + 0x44]
mov eax, ebx
call fcn.0044af60
push ebx
call esi
add esp, 4
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x54700c
mov edi, dword [esp + 0x28]
mov eax, ebx
call fcn.0044af60
push ebx
call esi
add esp, 4
mov edi, 0x10
cmp dword [esp + 0x8c], edi
jb 0x547024
mov ecx, dword [esp + 0x78]
push ecx
call esi
add esp, 4
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], 0
mov byte [esp + 0x78], 0
cmp dword [esp + 0xa8], edi
jb 0x547055
mov edx, dword [esp + 0x94]
push edx
call esi
add esp, 4
mov eax, dword [esp + 0x38]
jmp 0x54708c
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x70]
mov dword [esp + 0x40], 0
call dword [sym.imp.MSVCR100.dll_public:_void___thiscall_std::exception::constructor_char_const__const_const__]
push 0x5f190c
lea ecx, [esp + 0x70]
push ecx
mov dword [esp + 0x74], vtable.std::bad_alloc.0
call sub.MSVCR100.dll__CxxThrowException
or eax, 0xffffffff
mov ecx, dword [esp + 0xb8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.00596083
mov esp, ebp
pop ebp
ret 0xc