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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x34]
cmp eax, dword [ecx + 8]
jbe 0x4e0219
sub esp, 0xb4
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov eax, dword [ebx + 4]
cmp eax, 0
jne 0x4df816
cmp ebp, 0
jne 0x4df816
xor eax, eax
mov dword [ecx + 0xc], eax
xor eax, eax
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [ecx + 0x14], al
xchg ebp, eax
mov byte [esp + 0xc8], 1
add esp, 0xb4
ret
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx + 8]
cmp ebp, 0
jne 0x4dfaf1
mov esi, dword [esp + 0xc0]
cmp esi, 0
je 0x4e0212
mov edx, dword [esp + 0xb8]
cmp edx, 0
je 0x4e020b
mov eax, dword [esi]
mov dword [esp + 0x8c], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x90], eax
mov edi, dword [edx]
mov eax, dword [edx + 4]
mov ebx, dword [esp + 0x90]
cmp ebx, eax
jne 0x4dfaf1
mov ebx, dword [esp + 0x8c]
cmp ebx, edi
jne 0x4dfaf1
mov edi, dword [esi + 8]
mov ebp, dword [edx + 8]
cmp edi, ebp
jne 0x4dfaf1
movzx ebp, byte [esi + 0xc]
mov esi, ebp
movzx ebp, byte [edx + 0xc]
xchg esi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg esi, eax
jne 0x4dfaf1
mov edx, dword [esp + 0xc0]
cmp edx, 0
je 0x4e0204
mov esi, dword [esp + 0xc4]
cmp esi, 0
je 0x4e01fd
mov eax, dword [edx]
mov dword [esp + 0x8c], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x90], eax
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov ebx, dword [esp + 0x90]
cmp ebx, eax
jne 0x4dfaf1
mov ebx, dword [esp + 0x8c]
cmp ebx, edi
jne 0x4dfaf1
mov eax, dword [edx + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jne 0x4dfaf1
movzx ebp, byte [edx + 0xc]
mov edx, ebp
movzx ebp, byte [esi + 0xc]
xchg ebp, eax
cmp dl, al
xchg ebp, eax
jne 0x4dfaf1
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.004522aa
mov dword [esp + 0x38], 0x17
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
cmp edx, 0
jb 0x4df9ff
jbe 0x4dfae3
mov dword [esp + 0x5c], ebp
mov dword [esp], ebp
mov dword [esp + 0x60], edx
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], 0
call fcn.0044a6a0
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x54], eax
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x88], eax
mov eax, 0xa
xor edx, edx
mov esi, dword [esp + 0x54]
mov ebp, edx
or ebp, edi
jne 0x4dface
mul esi
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
sub eax, ebp
sbb edx, ebx
add eax, 0x30
adc edx, 0
mov ebx, dword [esp + 0x38]
lea ebp, [esp + 0x9c]
cmp ebx, 0x18
jae 0x4dfac7
add ebp, ebx
mov byte [ebp], al
mov ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x38], ebx
mov ebp, dword [esp + 0x54]
mov edx, edi
cmp edx, 0
jae 0x4df948
mov ebx, 0x18
sub ebx, dword [esp + 0x38]
dec ebx
mov dword [esp + 0x34], ebx
xor eax, eax
mov ebp, dword [esp + 0x34]
cmp eax, ebp
jge 0x4dfa4a
mov ebx, dword [esp + 0x38]
inc ebx
add ebx, eax
lea ebp, [esp + 0x9c]
cmp ebx, 0x18
jae 0x4dfac0
add ebp, ebx
movzx ebx, byte [ebp]
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x4dfab9
mov esi, dword [ecx]
add esi, eax
mov byte [esi], bl
inc eax
mov ebp, dword [esp + 0x34]
cmp eax, ebp
jl 0x4dfa17
mov eax, dword [esp + 0x34]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x10], eax
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jle 0x4dfa86
mov eax, dword [ecx + 0xc]
dec eax
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x4dfab2
mov esi, dword [ecx]
add esi, eax
movzx ebx, byte [esi]
cmp bl, 0x30
jne 0x4dfa86
mov eax, dword [ecx + 0xc]
dec eax
mov dword [ecx + 0xc], eax
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jg 0x4dfa60
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jne 0x4dfa93
xor eax, eax
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [ecx + 0x14], al
xchg ebp, eax
mov byte [esp + 0xc8], 1
add esp, 0xb4
ret
call fcn.00427bf0
ud2
call fcn.00427bf0
ud2
call fcn.00427bf0
ud2
call fcn.00427bf0
ud2
imul edx, esi
mov ebp, eax
imul ebp, edi
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4df9b2
cmp ebp, 0
jbe 0x4df9ff
jmp 0x4df94e
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call fcn.004de9f0
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xc4]
mov ebx, dword [esp + 0xb8]
mov ecx, dword [ebx + 8]
mov ebp, dword [esi + 8]
cmp ecx, ebp
jle 0x4dfb7a
mov ebx, dword [esp + 0xb8]
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebx, dword [esp + 0xb8]
mov eax, dword [ebx + 8]
mov ebp, dword [esi + 8]
mov dword [esp + 0x50], ebp
mov ebx, dword [esp + 0x50]
mov ebp, eax
sub ebp, ebx
mov eax, edx
mov edx, ecx
mov ecx, ebp
cmp ebp, 0x40
jae 0x4e01f4
cmp ecx, 0x20
jae 0x4e01e9
shld edx, eax, cl
shl eax, cl
mov ebx, dword [esp + 0xb8]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebp, dword [esi + 8]
mov ebx, dword [esp + 0xb8]
mov dword [ebx + 8], ebp
mov eax, dword [edi + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jle 0x4dfbc3
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov dword [esp + 0x90], eax
mov ecx, dword [edi + 8]
mov ebx, dword [esi + 8]
sub ecx, ebx
mov eax, edx
mov edx, dword [esp + 0x90]
cmp ecx, 0x40
jae 0x4e01e0
cmp ecx, 0x20
jae 0x4e01d5
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 + 0xb8]
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.004deda0
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x48], ebx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
add eax, 1
adc edx, 0
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov ebx, dword [esp + 0xc0]
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
sub eax, 1
sbb edx, 0
mov ebx, dword [esp + 0xc0]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [ebp + 8]
neg ebx
mov dword [esp + 0x30], ebx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4e01cc
cmp ecx, 0x20
jae 0x4e01c1
shrd eax, edx, cl
shr edx, cl
mov dword [esp + 0x40], eax
mov eax, dword [ebp]
mov dword [esp + 0x84], eax
mov esi, dword [ebp + 4]
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4e01b8
cmp ecx, 0x20
jae 0x4e01ad
shld edx, eax, cl
shl eax, cl
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x84]
mov edx, esi
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0xc0]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
sub eax, esi
sbb edx, ebx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov ecx, dword [ebx + 4]
sub eax, ebp
sbb edx, ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x3c], 0
xor ecx, ecx
mov esi, 1
xor ebp, ebp
cmp ecx, 0x14
jge 0x4dfd36
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x84], ebx
xor ebx, ebx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x90]
cmp ebx, ebp
ja 0x4e0180
jb 0x4dfd32
mov ebx, dword [esp + 0x8c]
cmp ebx, esi
jae 0x4e0180
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jge 0x4dfecb
mov ebx, dword [esp + 0x3c]
sub ebx, dword [esp + 0x44]
dec ebx
mov ebp, 0x6ab120
cmp ebx, 0x14
jae 0x4e0179
shl ebx, 3
add ebp, ebx
mov eax, dword [ebp]
mov dword [esp + 0x6c], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x70], eax
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x40]
xor edx, edx
div ebp
mov ecx, eax
mov eax, dword [esp + 0x4c]
mov edx, ecx
add edx, 0x30
mov ebp, dword [esp + 0x44]
mov esi, dword [edi + 4]
cmp ebp, esi
jae 0x4e0172
mov esi, dword [edi]
add esi, ebp
mov byte [esi], dl
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x6c]
imul ebx, ecx
sub ebp, ebx
mov dword [esp + 0x40], ebp
mov eax, dword [esp + 0x40]
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4e0169
cmp ecx, 0x20
jae 0x4e015e
shld edx, eax, cl
shl eax, cl
add eax, dword [esp + 0x7c]
adc edx, dword [esp + 0x80]
mov esi, eax
mov ecx, edx
cmp edx, dword [esp + 0x98]
ja 0x4dfeb2
jb 0x4dfe05
cmp esi, dword [esp + 0x94]
jae 0x4dfeb2
mov eax, dword [esp + 0x44]
inc eax
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x48]
mov dword [edi + 0x10], eax
mov ebx, dword [esp + 0xb8]
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 + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4dfeac
cmp ecx, 0x20
jae 0x4dfea4
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.004e0230
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xc8], bl
add esp, 0xb4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dfe74
xor edx, edx
xor eax, eax
jmp 0x4dfe6a
mov ebx, dword [esp + 0x44]
inc ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jl 0x4dfd4e
mov eax, dword [esp + 0x3c]
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0xc]
add eax, dword [esp + 0x48]
mov dword [edi + 0x10], eax
mov ebx, dword [esp + 0xb8]
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
mov byte [edi + 0x14], al
xchg ebp, eax
mov dword [esp + 0x74], 1
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov esi, 0xa
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4e0149
mul esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov esi, 0xa
xor ebx, ebx
mov ebp, edx
or ebp, ebx
jne 0x4e0134
mul esi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4e012b
cmp ecx, 0x20
jae 0x4e0120
shrd eax, edx, cl
shr edx, cl
mov ecx, eax
mov edx, eax
add edx, 0x30
mov ebp, dword [edi + 0xc]
mov esi, dword [edi + 4]
cmp ebp, esi
jae 0x4e0119
mov esi, dword [edi]
add esi, ebp
mov byte [esi], dl
mov eax, dword [edi + 0xc]
inc eax
mov dword [edi + 0xc], eax
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x80]
mov eax, ecx
cdq
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4e0110
cmp ecx, 0x20
jae 0x4e0105
shld edx, eax, cl
shl eax, cl
mov ebx, eax
mov ecx, edx
mov eax, esi
mov edx, ebp
sub eax, ebx
sbb edx, ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edx
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x4e00f0
mul esi
cmp edx, dword [esp + 0x80]
jb 0x4dfefc
ja 0x4e000b
cmp eax, dword [esp + 0x7c]
jbe 0x4dfefc
mov dword [esp], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x4e00db
mul esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov ebp, edx
or ebp, ebx
jne 0x4e00c9
mul esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, 1
xor edx, edx
mov ecx, dword [esp + 0x30]
cmp ecx, 0x40
jae 0x4e00c3
cmp ecx, 0x20
jae 0x4e00bb
shld edx, eax, cl
shl eax, cl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
shld edx, eax, 1
shl eax, 1
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
call fcn.004e0230
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xc8], bl
add esp, 0xb4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4e0085
xor edx, edx
xor eax, eax
jmp 0x4e007b
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4e0063
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4e003d
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4dfff2
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dffb9
xor edx, edx
xor eax, eax
jmp 0x4dffab
call fcn.00427bf0
ud2
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x4dff6e
xor edx, edx
xor eax, eax
jmp 0x4dff60
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4dff40
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4dff1a
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dfdda
xor edx, edx
xor eax, eax
jmp 0x4dfdcc
call fcn.00427bf0
ud2
call fcn.00427bf0
ud2
mov eax, esi
mov edx, ebp
mov esi, 0xa
xor ebx, ebx
or ebp, ebx
jne 0x4e019b
mul esi
mov esi, eax
mov ebp, edx
inc ecx
jmp 0x4dfceb
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4e0191
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dfc7c
xor edx, edx
xor eax, eax
jmp 0x4dfc6e
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x4dfc4a
xor edx, edx
xor eax, eax
jmp 0x4dfc3c
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dfbb8
xor edx, edx
xor eax, eax
jmp 0x4dfbaa
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dfb61
xor edx, edx
xor eax, eax
jmp 0x4dfb53
mov dword [esi], eax
jmp 0x4df8c5
mov dword [edx], eax
jmp 0x4df8b5
mov dword [edx], eax
jmp 0x4df849
mov dword [esi], eax
jmp 0x4df839
call fcn.004501c0
jmp fcn.004df7b0