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

Disassembly:
push 0xffffffffffffffff
push 0x4af456
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push ebp
mov ebp, dword [esp + 0x5c]
push esi
push edi
mov esi, ecx
xor edi, edi
lea ecx, [esp + 0x40]
mov dword [esp + 0x14], edi
call fcn.0050d46e
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], edi
call fcn.0050d46e
mov ebx, 1
lea ecx, [esp + 0x64]
mov dword [esp + 0x5c], ebx
call fcn.0050d46e
mov eax, dword [ebp + 0x18]
mov edx, dword [esi + 0x54]
xor ecx, ecx
cmp eax, edx
sete cl
mov eax, ecx
mov byte [esp + 0x5c], 2
cmp eax, edi
mov dword [esp + 0x18], eax
je 0x4e7add
push 0x4d12dc
lea ecx, [esp + 0x28]
call fcn.0050d630
mov dword [esp + 0x14], ebx
mov byte [esp + 0x5c], 3
jmp 0x4e7afb
lea edx, [esp + 0x20]
push ebp
push edx
mov ecx, esi
call fcn.004d1bf8
mov ebx, 2
mov dword [esp + 0x14], ebx
mov dword [esp + 0x5c], 4
push eax
lea ecx, [esp + 0x14]
call fcn.0050d618
test bl, 2
mov dword [esp + 0x5c], 7
je 0x4e7b22
and ebx, 0xfffffffd
lea ecx, [esp + 0x20]
mov dword [esp + 0x14], ebx
call fcn.0050d468
test bl, 1
mov dword [esp + 0x5c], 6
je 0x4e7b38
lea ecx, [esp + 0x24]
call fcn.0050d468
xor ebx, ebx
mov eax, dword [ebp + 0x6c]
mov dword [esp + 0x1c], ebx
test eax, eax
je 0x4e8151
mov ecx, dword [ebp + 0x70]
sub ecx, eax
sar ecx, 2
cmp ebx, ecx
jae 0x4e8151
mov edi, dword [eax + ebx*4]
mov edx, dword [esi + 0x5c]
mov eax, dword [edi + 4]
test eax, eax
je 0x4e7f8f
mov eax, dword [edi + 8]
dec eax
je 0x4e7e36
dec eax
je 0x4e7ce6
cmp dword [esi + 0x2a4], 0x12c
jb 0x4e7b93
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4e7f84
mov ecx, esi
mov dword [esi + 0x1f4], 1
call fcn.004fa858
mov dword [esi + 0x204], eax
mov eax, dword [edi + 4]
mov ecx, eax
lea edx, [esp + 0x40]
shr ecx, 1
sub eax, ecx
push edx
mov ebx, eax
mov eax, dword [edi + 8]
push ebx
push 0
push eax
push ebp
mov ecx, esi
call fcn.004d1cf8
test eax, eax
mov dword [esp + 0x14], eax
je 0x4e7c18
mov ecx, dword [edi + 8]
mov edx, dword [esp + 0x10]
push ecx
push ebx
push edx
lea eax, [esp + 0x70]
push 0x4d6498
push eax
call fcn.0050d5e2
add esp, 0x14
lea ecx, [esp + 0x40]
push ecx
push 1
mov ecx, esi
call fcn.004e9008
test al, 1
jne 0x4e7c0d
push 0x4d648c
lea ecx, [esp + 0x68]
call fcn.0050d6a8
mov eax, dword [esp + 0x64]
mov edx, dword [esi]
push eax
push 0xa
jmp 0x4e7c41
mov ecx, dword [esp + 0x40]
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
lea ecx, [esp + 0x70]
push 0x4d6464
push ecx
call fcn.0050d5e2
mov eax, dword [esp + 0x78]
mov edx, dword [esi]
add esp, 0x14
push eax
push 0xb
mov ecx, esi
call dword [edx + 4]
mov ebx, dword [edi + 4]
mov eax, dword [esp + 0x14]
shr ebx, 1
test eax, eax
je 0x4e7f84
test ebx, ebx
je 0x4e7f84
mov edx, dword [edi + 8]
lea ecx, [esp + 0x40]
push ecx
push ebx
push 1
push edx
push ebp
mov ecx, esi
call fcn.004d1cf8
test eax, eax
je 0x4e7cc1
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x10]
push eax
push ebx
push ecx
lea edx, [esp + 0x70]
push 0x4d6498
push edx
call fcn.0050d5e2
add esp, 0x14
lea eax, [esp + 0x40]
mov ecx, esi
push eax
push 1
call fcn.004e9008
test al, 1
jne 0x4e7cb3
push 0x4d648c
lea ecx, [esp + 0x68]
call fcn.0050d6a8
mov eax, dword [esp + 0x64]
mov edx, dword [esi]
push eax
push 0xa
jmp 0x4e7f7f
mov ecx, dword [esp + 0x40]
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x10]
push ecx
push edx
push eax
lea ecx, [esp + 0x70]
push 0x4d6464
push ecx
call fcn.0050d5e2
add esp, 0x14
jmp 0x4e7f76
cmp dword [esi + 0x2a8], 0x64
jb 0x4e7cfb
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4e7f84
mov ecx, esi
mov dword [esi + 0x1f4], 1
call fcn.004fa858
mov dword [esi + 0x204], eax
mov eax, dword [edi + 4]
mov ecx, eax
lea edx, [esp + 0x40]
shr ecx, 1
sub eax, ecx
push edx
mov ebx, eax
mov eax, dword [edi + 8]
push ebx
push 0
push eax
push ebp
mov ecx, esi
call fcn.004d1cf8
test eax, eax
mov dword [esp + 0x14], eax
je 0x4e7d7c
mov ecx, dword [esp + 0x10]
push ebx
push ecx
lea edx, [esp + 0x6c]
push 0x4d644c
push edx
call fcn.0050d5e2
add esp, 0x10
lea eax, [esp + 0x40]
mov ecx, esi
push eax
push 2
call fcn.004e9008
test al, 2
jne 0x4e7d71
push 0x4d6434
lea ecx, [esp + 0x68]
call fcn.0050d6a8
mov eax, dword [esp + 0x64]
mov edx, dword [esi]
push eax
push 0xa
jmp 0x4e7da1
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
push ecx
push edx
lea eax, [esp + 0x6c]
push 0x4d6418
push eax
call fcn.0050d5e2
mov eax, dword [esp + 0x74]
mov edx, dword [esi]
add esp, 0x10
push eax
push 0xb
mov ecx, esi
call dword [edx + 4]
mov ebx, dword [edi + 4]
mov eax, dword [esp + 0x14]
shr ebx, 1
test eax, eax
je 0x4e7f84
test ebx, ebx
je 0x4e7f84
mov edx, dword [edi + 8]
lea ecx, [esp + 0x40]
push ecx
push ebx
push 1
push edx
push ebp
mov ecx, esi
call fcn.004d1cf8
test eax, eax
je 0x4e7e22
mov eax, dword [esp + 0x10]
push ebx
push eax
lea ecx, [esp + 0x6c]
push 0x4d644c
push ecx
call fcn.0050d5e2
add esp, 0x10
lea edx, [esp + 0x40]
mov ecx, esi
push edx
push 2
call fcn.004e9008
test al, 2
jne 0x4e7e0f
push 0x4d6434
lea ecx, [esp + 0x68]
call fcn.0050d6a8
mov ecx, dword [esp + 0x64]
mov eax, dword [esi]
push ecx
push 0xa
mov ecx, esi
call dword [eax + 4]
jmp 0x4e7f84
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
push edx
push eax
push 0x4d6418
jmp 0x4e7f69
cmp dword [esi + 0x2a4], 0x12c
jb 0x4e7e4e
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4e7f84
mov ecx, esi
mov dword [esi + 0x1f4], 1
call fcn.004fa858
mov dword [esi + 0x204], eax
mov eax, dword [edi + 4]
mov ecx, eax
lea edx, [esp + 0x40]
shr ecx, 1
sub eax, ecx
push edx
mov ebx, eax
mov eax, dword [edi + 8]
push ebx
push 1
push eax
push ebp
mov ecx, esi
call fcn.004d1cf8
test eax, eax
mov dword [esp + 0x14], eax
je 0x4e7ecf
mov ecx, dword [esp + 0x10]
push ebx
push ecx
lea edx, [esp + 0x6c]
push 0x4d6400
push edx
call fcn.0050d5e2
add esp, 0x10
lea eax, [esp + 0x40]
mov ecx, esi
push eax
push 1
call fcn.004e9008
test al, 1
jne 0x4e7ec4
push 0x4d6224
lea ecx, [esp + 0x68]
call fcn.0050d6a8
mov eax, dword [esp + 0x64]
mov edx, dword [esi]
push eax
push 0xa
jmp 0x4e7ef4
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x10]
push ecx
push edx
lea eax, [esp + 0x6c]
push 0x4d63e4
push eax
call fcn.0050d5e2
mov eax, dword [esp + 0x74]
mov edx, dword [esi]
add esp, 0x10
push eax
push 0xb
mov ecx, esi
call dword [edx + 4]
mov ebx, dword [edi + 4]
mov eax, dword [esp + 0x14]
shr ebx, 1
test eax, eax
je 0x4e7f84
test ebx, ebx
je 0x4e7f84
mov edx, dword [edi + 8]
lea ecx, [esp + 0x40]
push ecx
push ebx
push 2
push edx
push ebp
mov ecx, esi
call fcn.004d1cf8
test eax, eax
je 0x4e7f5a
mov eax, dword [esp + 0x10]
push ebx
push eax
lea ecx, [esp + 0x6c]
push 0x4d6400
push ecx
call fcn.0050d5e2
add esp, 0x10
lea edx, [esp + 0x40]
mov ecx, esi
push edx
push 1
call fcn.004e9008
test al, 1
jne 0x4e7e0f
push 0x4d6224
jmp 0x4e7e06
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
push edx
push eax
push 0x4d63e4
lea ecx, [esp + 0x70]
push ecx
call fcn.0050d5e2
add esp, 0x10
mov eax, dword [esp + 0x64]
mov edx, dword [esi]
push eax
push 0xb
mov ecx, esi
call dword [edx + 4]
mov ebx, dword [esp + 0x1c]
mov dword [edi + 4], 0
mov eax, dword [ebp + 0x78]
test eax, eax
je 0x4e814b
mov ecx, esi
mov dword [esi + 0x1f4], 1
call fcn.004fa858
mov dword [esi + 0x204], eax
mov edx, dword [ebp + 0x7c]
lea ecx, [esp + 0x40]
push ecx
push edx
push ebp
mov ecx, esi
call fcn.004d9098
test eax, eax
mov eax, dword [ebp + 0x7c]
je 0x4e80c3
dec eax
mov eax, dword [esp + 0x50]
je 0x4e804d
test eax, eax
push ebp
jl 0x4e8012
lea eax, [esp + 0x2c]
mov ecx, esi
push eax
call fcn.004d1bf8
mov ecx, dword [esp + 0x50]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x6c]
push 0x4d63c4
push eax
mov byte [esp + 0x6c], 0xa
call fcn.0050d5e2
add esp, 0x10
mov byte [esp + 0x5c], 6
lea ecx, [esp + 0x28]
jmp 0x4e8131
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call fcn.004d1bf8
mov edx, dword [esp + 0x50]
mov eax, dword [eax]
neg edx
push edx
push eax
lea ecx, [esp + 0x6c]
push 0x4d63a4
push ecx
mov byte [esp + 0x6c], 0xb
call fcn.0050d5e2
add esp, 0x10
mov byte [esp + 0x5c], 6
lea ecx, [esp + 0x2c]
jmp 0x4e8131
test eax, eax
push ebp
jl 0x4e808b
lea edx, [esp + 0x34]
mov ecx, esi
push edx
call fcn.004d1bf8
mov ecx, dword [esp + 0x50]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x6c]
push 0x4d6388
push eax
mov byte [esp + 0x6c], 8
call fcn.0050d5e2
add esp, 0x10
mov byte [esp + 0x5c], 6
lea ecx, [esp + 0x30]
jmp 0x4e8131
lea ecx, [esp + 0x38]
push ecx
mov ecx, esi
call fcn.004d1bf8
mov edx, dword [esp + 0x50]
mov eax, dword [eax]
neg edx
push edx
push eax
lea ecx, [esp + 0x6c]
push 0x4d636c
push ecx
mov byte [esp + 0x6c], 9
call fcn.0050d5e2
add esp, 0x10
mov byte [esp + 0x5c], 6
lea ecx, [esp + 0x34]
jmp 0x4e8131
dec eax
push ebp
je 0x4e80fd
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
call fcn.004d1bf8
mov ecx, dword [esp + 0x40]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x6c]
push 0x4d634c
push eax
mov byte [esp + 0x6c], 0xd
call fcn.0050d5e2
add esp, 0x10
mov byte [esp + 0x5c], 6
lea ecx, [esp + 0x38]
jmp 0x4e8131
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call fcn.004d1bf8
mov edx, dword [esp + 0x40]
mov eax, dword [eax]
push edx
push eax
lea ecx, [esp + 0x6c]
push 0x4d6338
push ecx
mov byte [esp + 0x6c], 0xc
call fcn.0050d5e2
add esp, 0x10
mov byte [esp + 0x5c], 6
lea ecx, [esp + 0x3c]
call fcn.0050d468
mov eax, dword [esp + 0x64]
mov edx, dword [esi]
push eax
push 0xb
mov ecx, esi
call dword [edx + 4]
mov dword [ebp + 0x78], 0
inc ebx
jmp 0x4e7b3a
lea ecx, [esp + 0x10]
mov byte [esp + 0x5c], 2
call fcn.0050d468
lea ecx, [esp + 0x64]
mov byte [esp + 0x5c], 1
call fcn.0050d468
lea ecx, [esp + 0x44]
mov dword [esp + 0x5c], 0xe
call fcn.0050d468
lea ecx, [esp + 0x40]
mov dword [esp + 0x5c], 0xffffffff
call fcn.0050d468
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x50
ret 4