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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x54]
cmp eax, dword [ecx]
ja 0x4e26b3
xor edi, edi
mov eax, 0x14
call fcn.0042a440
jmp fcn.004e2690
sub esp, 0xd4
mov ebx, dword [esp + 0xd8]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
cmp edx, 0
jne 0x4e2711
cmp ecx, 0
jne 0x4e2711
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0xc], 0
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0x10], 0
mov ebx, dword [esp + 0xd8]
movzx ebp, byte [ebx + 0xc]
mov ebx, dword [esp + 0xdc]
xchg ebp, eax
mov byte [ebx + 0x14], al
xchg ebp, eax
mov byte [esp + 0xe8], 1
add esp, 0xd4
ret
mov ebx, dword [esp + 0xd8]
mov ebp, dword [ebx + 8]
cmp ebp, 0
jne 0x4e2a09
mov esi, dword [esp + 0xe0]
cmp esi, 0
je 0x4e3151
mov ecx, dword [esp + 0xd8]
cmp ecx, 0
je 0x4e314a
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [esp + 0xa4], eax
mov ebp, dword [ecx]
mov edx, dword [ecx + 4]
cmp edi, edx
jne 0x4e2a09
mov ebx, dword [esp + 0xa4]
cmp ebx, ebp
jne 0x4e2a09
mov edx, dword [esi + 8]
mov ebp, dword [ecx + 8]
cmp edx, ebp
jne 0x4e2a09
movzx ebp, byte [esi + 0xc]
mov edx, ebp
movzx ebp, byte [ecx + 0xc]
xchg ebp, eax
cmp dl, al
xchg ebp, eax
jne 0x4e2a09
mov ecx, dword [esp + 0xe0]
cmp ecx, 0
je 0x4e3143
mov esi, dword [esp + 0xe4]
cmp esi, 0
je 0x4e313c
mov eax, dword [ecx]
mov edi, dword [ecx + 4]
mov dword [esp + 0xa4], eax
mov ebp, dword [esi]
mov edx, dword [esi + 4]
cmp edi, edx
jne 0x4e2a09
mov ebx, dword [esp + 0xa4]
cmp ebx, ebp
jne 0x4e2a09
mov eax, dword [ecx + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jne 0x4e2a09
movzx ebp, byte [ecx + 0xc]
mov ecx, ebp
movzx ebp, byte [esi + 0xc]
xchg ebp, eax
cmp cl, al
xchg ebp, eax
jne 0x4e2a09
lea edi, [esp + 0xb4]
xor eax, eax
call fcn.0042bd8a
mov dword [esp + 0x38], 0x17
mov ebx, dword [esp + 0xd8]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebx, eax
cmp ecx, 0
jb 0x4e28cd
jbe 0x4e29fb
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ecx
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.0041c6f0
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edx
mov eax, 0xa
xor ebp, ebp
mov edx, ebp
or ebp, esi
jne 0x4e29e6
mul edi
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
sub eax, ebx
sbb edx, ecx
add eax, 0x30
adc edx, 0
mov ebx, dword [esp + 0x38]
lea ebp, [esp + 0xb4]
cmp ebx, 0x18
jae 0x4e29df
lea ebp, [ebp + ebx]
mov byte [ebp], al
mov ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x38], ebx
mov ebx, edi
mov ecx, esi
cmp ecx, 0
jae 0x4e2825
mov edi, 0x18
sub edi, dword [esp + 0x38]
dec edi
xor eax, eax
cmp eax, edi
jge 0x4e291a
mov ebx, dword [esp + 0x38]
inc ebx
add ebx, eax
lea ebp, [esp + 0xb4]
cmp ebx, 0x18
jae 0x4e29d8
lea ebp, [ebp + ebx]
movzx ebp, byte [ebp]
mov ebx, dword [esp + 0xdc]
cmp eax, dword [ebx + 4]
jae 0x4e29d1
mov esi, dword [ebx]
lea esi, [esi + eax]
xchg ebp, eax
mov byte [esi], al
xchg ebp, eax
inc eax
cmp eax, edi
jl 0x4e28dd
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0xc], edi
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0x10], edi
mov ebx, dword [esp + 0xdc]
mov ebp, dword [ebx + 0xc]
cmp ebp, 0
jle 0x4e2987
mov ebx, dword [esp + 0xdc]
mov eax, dword [ebx + 0xc]
dec eax
mov ebx, dword [esp + 0xdc]
cmp eax, dword [ebx + 4]
jae 0x4e29ca
mov esi, dword [ebx]
lea esi, [esi + eax]
movzx ebp, byte [esi]
xchg ebp, eax
cmp al, 0x30
xchg ebp, eax
jne 0x4e2987
mov ebx, dword [esp + 0xdc]
mov eax, dword [ebx + 0xc]
dec eax
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0xc], eax
mov ebx, dword [esp + 0xdc]
mov ebp, dword [ebx + 0xc]
cmp ebp, 0
jg 0x4e293d
mov ebx, dword [esp + 0xdc]
mov ebp, dword [ebx + 0xc]
cmp ebp, 0
jne 0x4e29a4
mov ebx, dword [esp + 0xdc]
mov dword [ebx + 0x10], 0
mov ebx, dword [esp + 0xd8]
movzx ebp, byte [ebx + 0xc]
mov ebx, dword [esp + 0xdc]
xchg ebp, eax
mov byte [ebx + 0x14], al
xchg ebp, eax
mov byte [esp + 0xe8], 1
add esp, 0xd4
ret
call fcn.004116c0
ud2
call fcn.004116c0
ud2
call fcn.004116c0
ud2
call fcn.004116c0
ud2
imul edx, edi
mov ebp, eax
imul ebp, esi
add ebp, edx
mov edx, edi
mul edx
add edx, ebp
jmp 0x4e2880
cmp ebx, 0
jbe 0x4e28cd
jmp 0x4e282b
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
call fcn.004e15a0
mov edi, dword [esp + 0xe0]
mov esi, dword [esp + 0xe4]
mov ebx, dword [esp + 0xd8]
mov ecx, dword [ebx + 8]
mov ebp, dword [esi + 8]
cmp ecx, ebp
jle 0x4e2a90
mov ebx, dword [esp + 0xd8]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [esp + 0x9c], eax
mov ebx, dword [esp + 0xd8]
mov ecx, dword [ebx + 8]
mov ebx, dword [esi + 8]
sub ecx, ebx
mov eax, dword [esp + 0x9c]
cmp ecx, 0x40
jae 0x4e3133
cmp ecx, 0x20
jae 0x4e3128
shld edx, eax, cl
shl eax, cl
mov ebx, dword [esp + 0xd8]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebp, dword [esi + 8]
mov ebx, dword [esp + 0xd8]
mov dword [ebx + 8], ebp
mov eax, dword [edi + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jle 0x4e2ad7
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [esp + 0x9c], eax
mov ecx, dword [edi + 8]
mov ebx, dword [esi + 8]
sub ecx, ebx
mov eax, dword [esp + 0x9c]
cmp ecx, 0x40
jae 0x4e311f
cmp ecx, 0x20
jae 0x4e3114
shld edx, eax, cl
shl eax, cl
mov dword [edi], eax
mov dword [edi + 4], edx
mov ebp, dword [esi + 8]
mov dword [edi + 8], ebp
mov dword [esp], edi
mov ebx, dword [esp + 0xd8]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.004e1cc0
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0xdc]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x50], ebx
mov eax, dword [esi]
mov edx, dword [esi + 4]
add eax, 1
adc edx, 0
mov dword [esi], eax
mov dword [esi + 4], edx
mov ebx, dword [esp + 0xe0]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
sub eax, 1
sbb edx, 0
mov ebx, dword [esp + 0xe0]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov eax, dword [esi + 8]
neg eax
mov dword [esp + 0x34], eax
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x34]
cmp ecx, 0x40
jae 0x4e310b
cmp ecx, 0x20
jae 0x4e3100
shrd eax, edx, cl
shr edx, cl
mov dword [esp + 0x40], eax
mov eax, dword [esi]
mov ebp, dword [esi + 4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x34]
cmp ecx, 0x40
jae 0x4e30f7
cmp ecx, 0x20
jae 0x4e30ec
shld edx, eax, cl
shl eax, cl
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0xa4]
mov edx, ebp
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov ebp, dword [esi]
mov edx, dword [esi + 4]
mov ebx, dword [esp + 0xe0]
mov eax, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp + 0xa4], eax
mov eax, ebp
sub eax, dword [esp + 0xa4]
sbb edx, ebx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov esi, eax
mov ebx, dword [esp + 0xd8]
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebx, eax
mov eax, esi
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0x3c], 0
xor esi, esi
mov ebp, 1
xor ecx, ecx
cmp esi, 0x14
jge 0x4e2c3f
mov eax, dword [esp + 0x40]
xor ebx, ebx
mov dword [esp + 0xa4], eax
cmp ebx, ecx
ja 0x4e30bd
jb 0x4e2c3b
mov ebx, dword [esp + 0xa4]
cmp ebx, ebp
jae 0x4e30bd
mov dword [esp + 0x3c], esi
mov dword [esp + 0x48], 0
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x48], ebx
jge 0x4e2dc8
mov ebx, dword [esp + 0x3c]
sub ebx, dword [esp + 0x48]
dec ebx
lea ebp, [0x757000]
cmp ebx, 0x14
jae 0x4e30b6
lea ebp, [ebp + ebx*8]
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], ebp
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
xor edx, edx
div ebx
mov edx, eax
add edx, 0x30
mov ebp, dword [esp + 0x48]
cmp ebp, dword [edi + 4]
jae 0x4e30af
mov esi, dword [edi]
lea esi, [esi + ebp]
mov byte [esi], dl
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x74]
imul ebx, eax
sub ebp, ebx
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x34]
cmp ecx, 0x40
jae 0x4e30a6
cmp ecx, 0x20
jae 0x4e309b
shld edx, eax, cl
shl eax, cl
add eax, dword [esp + 0x8c]
adc edx, dword [esp + 0x90]
mov esi, eax
mov ecx, edx
cmp edx, dword [esp + 0xb0]
ja 0x4e2db1
jb 0x4e2d04
cmp esi, dword [esp + 0xac]
jae 0x4e2db1
mov eax, dword [esp + 0x48]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x50]
mov dword [edi + 0x10], eax
mov ebx, dword [esp + 0xd8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [edi + 0x14], al
xchg ebp, eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x34]
cmp ecx, 0x40
jae 0x4e2dab
cmp ecx, 0x20
jae 0x4e2da3
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], 0
call fcn.004e3160
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xe8], bl
add esp, 0xd4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4e2d73
xor edx, edx
xor eax, eax
jmp 0x4e2d69
mov ebx, dword [esp + 0x48]
inc ebx
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x48], ebx
jl 0x4e2c55
mov ebp, dword [esp + 0x3c]
mov dword [edi + 0xc], ebp
mov eax, dword [edi + 0xc]
add eax, dword [esp + 0x50]
mov dword [edi + 0x10], eax
mov ebx, dword [esp + 0xd8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [edi + 0x14], al
xchg ebp, eax
mov dword [esp + 0x84], 1
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
mov ecx, 0xa
xor ebx, ebx
mov edx, ebp
or ebp, ebx
jne 0x4e3086
mul ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov ecx, 0xa
xor ebx, ebx
mov edx, ebp
or ebp, ebx
jne 0x4e3071
mul ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], edx
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x34]
cmp ecx, 0x40
jae 0x4e3068
cmp ecx, 0x20
jae 0x4e305d
shrd eax, edx, cl
shr edx, cl
mov ecx, eax
mov edx, eax
add edx, 0x30
mov ebp, dword [edi + 0xc]
cmp ebp, dword [edi + 4]
jae 0x4e3056
mov esi, dword [edi]
lea esi, [esi + ebp]
mov byte [esi], dl
mov eax, dword [edi + 0xc]
inc eax
mov dword [edi + 0xc], eax
mov ebp, dword [esp + 0x8c]
mov ebx, dword [esp + 0x90]
mov edx, ebx
mov eax, ecx
cdq
mov ecx, dword [esp + 0x34]
cmp ecx, 0x40
jae 0x4e304d
cmp ecx, 0x20
jae 0x4e3042
shld edx, eax, cl
shl eax, cl
mov esi, eax
mov ecx, edx
mov eax, ebp
mov edx, ebx
sub eax, esi
sbb edx, ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0xb0]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov edx, ebp
or ebp, ebx
jne 0x4e302d
mul ecx
cmp edx, dword [esp + 0x90]
jb 0x4e2dff
ja 0x4e2f33
cmp eax, dword [esp + 0x8c]
jbe 0x4e2dff
mov dword [esp], edi
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov edx, ebp
or ebp, ebx
jne 0x4e3018
mul ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0xb0]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov edx, ebp
or ebp, ebx
jne 0x4e3006
mul ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, 1
xor edx, edx
mov ecx, dword [esp + 0x34]
cmp ecx, 0x40
jae 0x4e3000
cmp ecx, 0x20
jae 0x4e2ff8
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
shld edx, eax, 1
shl eax, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
call fcn.004e3160
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xe8], bl
add esp, 0xd4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4e2fbc
xor edx, edx
xor eax, eax
jmp 0x4e2fb2
imul edx, ecx
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, ecx
mul edx
add edx, ebp
jmp 0x4e2f9a
imul edx, ecx
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, ecx
mul edx
add edx, ebp
jmp 0x4e2f6e
imul edx, ecx
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, ecx
mul edx
add edx, ebp
jmp 0x4e2f17
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4e2ed5
xor edx, edx
xor eax, eax
jmp 0x4e2ec7
call fcn.004116c0
ud2
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x4e2e86
xor edx, edx
xor eax, eax
jmp 0x4e2e78
imul edx, ecx
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, ecx
mul edx
add edx, ebp
jmp 0x4e2e4f
imul edx, ecx
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, ecx
mul edx
add edx, ebp
jmp 0x4e2e20
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4e2cd6
xor edx, edx
xor eax, eax
jmp 0x4e2cc8
call fcn.004116c0
ud2
call fcn.004116c0
ud2
mov eax, ebp
mov ebp, ecx
mov ecx, 0xa
xor ebx, ebx
mov edx, ebp
or ebp, ebx
jne 0x4e30da
mul ecx
mov ebp, eax
mov ecx, edx
inc esi
jmp 0x4e2c10
imul edx, ecx
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, ecx
mul edx
add edx, ebp
jmp 0x4e30d0
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4e2b8c
xor edx, edx
xor eax, eax
jmp 0x4e2b7e
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x4e2b5b
xor edx, edx
xor eax, eax
jmp 0x4e2b4d
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4e2acc
xor edx, edx
xor eax, eax
jmp 0x4e2abe
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4e2a77
xor edx, edx
xor eax, eax
jmp 0x4e2a69
mov dword [esi], eax
jmp 0x4e27ae
mov dword [ecx], eax
jmp 0x4e279e
mov dword [ecx], eax
jmp 0x4e2744
mov dword [esi], eax
jmp 0x4e2734