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

Disassembly:
push 0xffffffffffffffff
push 0x60a594
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x72d630]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x90]
mov ebx, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test ebp, ebp
je 0x4e45db
mov edi, dword [esp + 0x88]
cmp ebp, edi
je 0x4e45eb
call ebx
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x94]
mov ecx, esi
sub ecx, dword [esp + 0x8c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 1
jne 0x4e46a4
test edi, edi
jne 0x4e4626
call ebx
mov edi, dword [esp + 0x88]
test edi, edi
je 0x4e462a
mov eax, dword [edi]
jmp 0x4e462c
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x4e4641
call ebx
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x8c]
test edi, edi
jne 0x4e4659
call ebx
mov edi, dword [esp + 0x88]
test edi, edi
je 0x4e465d
mov edi, dword [edi]
jmp 0x4e465f
xor edi, edi
mov edx, dword [esp + 0x8c]
cmp edx, dword [edi + 0x10]
jb 0x4e466d
call ebx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x8c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
add esi, 0x1c
push esi
mov esi, dword [esp + 0x84]
push edx
push esi
call eax
mov dword [esp + 0x78], 0
mov dword [esp + 0x14], 1
jmp 0x4e4943
test ebp, ebp
je 0x4e46ac
cmp ebp, edi
je 0x4e46b5
call ebx
mov esi, dword [esp + 0x94]
sub esi, dword [esp + 0x8c]
mov eax, 0x2aaaaaab
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cmp ecx, 2
jne 0x4e47dd
push 1
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x90]
call fcn.004e4330
mov esi, eax
mov eax, dword [esi]
test eax, eax
jne 0x4e46f9
call ebx
mov eax, dword [esi]
test eax, eax
je 0x4e46fd
mov eax, dword [eax]
jmp 0x4e46ff
xor eax, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [eax + 0x10]
jb 0x4e4709
call ebx
mov ebp, dword [esi + 4]
push 1
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x90]
call fcn.004e4330
mov esi, eax
mov eax, dword [esi]
test eax, eax
jne 0x4e472f
call ebx
mov eax, dword [esi]
test eax, eax
je 0x4e4733
mov eax, dword [eax]
jmp 0x4e4735
xor eax, eax
mov ecx, dword [esi + 4]
cmp ecx, dword [eax + 0x10]
jb 0x4e473f
call ebx
mov eax, dword [esp + 0x88]
mov esi, dword [esi + 4]
test eax, eax
jne 0x4e475a
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4e475e
mov ecx, dword [eax]
jmp 0x4e4760
xor ecx, ecx
mov edx, dword [esp + 0x8c]
cmp edx, dword [ecx + 0x10]
jb 0x4e4775
call ebx
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0x8c]
test eax, eax
jne 0x4e478d
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4e4791
mov eax, dword [eax]
jmp 0x4e4793
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x4e47a1
call ebx
mov ecx, dword [esp + 0x84]
mov eax, dword [esp + 0x8c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x2c]
add ebp, 0x1c
push ebp
push esi
mov esi, dword [esp + 0x88]
add edi, 0x1c
push edi
push eax
push esi
call edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x14], 1
jmp 0x4e4943
lea ecx, [esp + 0x2c]
call fcn.004cc2c0
mov edi, 1
lea ecx, [esp + 0x40]
mov dword [esp + 0x78], edi
call fcn.004cc2c0
mov byte [esp + 0x78], 2
mov eax, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov esi, eax
mov dword [esp + 0x14], esi
test eax, eax
jne 0x4e4893
call ebx
mov eax, dword [esp + 0x90]
xor ecx, ecx
cmp ebp, dword [ecx + 0xc]
ja 0x4e482e
call ebx
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x8c]
push ecx
push eax
mov eax, dword [esp + 0x90]
push edx
push eax
sub ebp, 0x30
call fcn.004e5270
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x9c]
push edx
push eax
push ecx
call fcn.004e52c0
mov eax, dword [esp + 0xa8]
add esp, 0x20
test eax, eax
jne 0x4e488f
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4e4897
mov ecx, dword [eax]
jmp 0x4e4899
mov ecx, dword [eax]
jmp 0x4e4820
xor ecx, ecx
mov eax, dword [esp + 0x8c]
cmp eax, dword [ecx + 0x10]
jb 0x4e48ae
call ebx
mov eax, dword [esp + 0x8c]
cmp dword [eax + 0x2c], edi
je 0x4e495d
mov ecx, dword [eax + 0x28]
cmp dword [ecx], 0
jne 0x4e495d
mov eax, dword [eax + 0x24]
test eax, eax
je 0x4e48e2
lea ecx, [ecx + eax*4 - 4]
mov edi, edi
cmp dword [ecx], 0
jne 0x4e4959
sub eax, edi
sub ecx, 4
test eax, eax
jne 0x4e48d0
test esi, esi
jne 0x4e4b4f
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e48f5
call ebx
test esi, esi
jne 0x4e4b56
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e4908
call ebx
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx]
mov esi, dword [esp + 0x80]
mov eax, dword [eax + 0x28]
lea edx, [ebp + 0x1c]
push edx
push ebp
push esi
call eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x14], edi
mov byte [esp + 0x78], 1
call fcn.004ad940
lea ecx, [esp + 0x2c]
mov byte [esp + 0x78], 0
call fcn.004ad940
mov eax, esi
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
test eax, eax
je 0x4e48e2
test esi, esi
jne 0x4e4995
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e496c
call ebx
lea edx, [esp + 0x40]
lea edi, [ebp + 0x1c]
push edx
call fcn.004cc780
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x4e4991
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4e4999
mov eax, dword [eax]
jmp 0x4e499b
mov eax, dword [esi]
jmp 0x4e4965
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x4e49a9
call ebx
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x8c]
test eax, eax
jne 0x4e49f9
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e49c3
call ebx
add esi, 0x1c
push esi
push edi
lea ecx, [esp + 0x48]
lea esi, [esp + 0x34]
call fcn.004cee70
add esp, 8
call fcn.004d1020
cmp dword [esp + 0x3c], 1
mov edx, eax
je 0x4e49fd
cmp dword [edx + 0x10], 1
je 0x4e4a71
mov eax, esi
call fcn.004cf320
jmp 0x4e4a0e
mov eax, dword [eax]
jmp 0x4e49bc
cmp dword [edx + 0x10], 1
jne 0x4e4a71
lea eax, [esp + 0x2c]
call fcn.004cf320
neg eax
test eax, eax
jne 0x4e4a71
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4e4a41
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e4a25
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x4e4a3d
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4e4a45
mov eax, dword [eax]
jmp 0x4e4a47
mov eax, dword [eax]
jmp 0x4e4a1e
xor eax, eax
mov edx, dword [esp + 0x8c]
cmp edx, dword [eax + 0x10]
jb 0x4e4a55
call ebx
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx]
mov edx, dword [esp + 0x8c]
mov eax, dword [eax + 0x20]
push ebp
push edx
call eax
jmp 0x4e4af7
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4e4ac2
call ebx
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x4e4a84
call ebx
mov edi, dword [esp + 0x84]
mov edx, dword [edi]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x2c]
push eax
push ebp
lea ecx, [esp + 0x5c]
push ecx
mov ecx, edi
call edx
mov esi, eax
mov byte [esp + 0x78], 3
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x4e4abe
call ebx
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4e4ac6
mov eax, dword [eax]
jmp 0x4e4ac8
mov eax, dword [eax]
jmp 0x4e4a7d
xor eax, eax
mov ecx, dword [esp + 0x8c]
cmp ecx, dword [eax + 0x10]
jb 0x4e4ad6
call ebx
mov edx, dword [edi]
mov eax, dword [esp + 0x8c]
mov edx, dword [edx + 0x20]
push esi
push eax
mov ecx, edi
call edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0x7c], 2
call fcn.004ae410
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
push eax
push ecx
call fcn.004e5360
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
push edx
mov edx, dword [esp + 0x9c]
push eax
push ecx
push edx
call fcn.004e52c0
mov esi, dword [esp + 0x34]
mov edi, 1
jmp 0x4e4874
mov eax, dword [esi]
jmp 0x4e48ee
mov eax, dword [esi]
jmp 0x4e4901