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

Disassembly:
mov ecx, dword [0x5efcb0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4df343
sub esp, 0x60
movzx edx, byte [esp + 0x74]
mov byte [esp + 0x17], dl
test dl, dl
jne 0x4dea36
jmp 0x4dea45
mov edx, dword [esp + 0x6c]
test edx, edx
setl dl
mov byte [esp + 0x17], dl
jmp 0x4dea47
jmp 0x4dea47
movzx edx, byte [esp + 0x17]
mov byte [esp + 0x15], dl
test dl, dl
jne 0x4dea56
jmp 0x4dea73
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
xor ebp, ebp
sub ebp, edx
mov dword [esp + 0x68], ebp
mov edx, 0
sbb edx, ebx
mov dword [esp + 0x6c], edx
jmp 0x4dea75
jmp 0x4dea75
mov edx, dword [esp + 0x64]
test byte [edx], al
add edx, 0x18
test byte [edx], al
jmp 0x4dea82
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], 0x44
mov dword [esp + 0x50], 0x44
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 4]
mov byte [esp + 0x17], dl
test dl, dl
jne 0x4deaaa
jmp 0x4deaac
jmp 0x4deabc
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 5]
mov byte [esp + 0x17], dl
jmp 0x4deabc
movzx edx, byte [esp + 0x17]
test dl, dl
jne 0x4deac7
jmp 0x4deb22
mov edx, dword [esp + 0x64]
test byte [edx], al
mov edx, dword [edx + 0x10]
mov ebx, dword [esp + 0x64]
test byte [ebx], al
add edx, dword [ebx + 0x14]
add edx, 3
mov dword [esp + 0x18], edx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x44], ebx
cmp ebx, edx
jl 0x4deaee
jmp 0x4deb1e
lea eax, [0x511660]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004711a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
jmp 0x4deb20
jmp 0x4deb20
jmp 0x4deb24
jmp 0x4deb24
mov dword [esp + 0x1c], 0
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 5]
test dl, dl
jne 0x4deb3f
jmp 0x4debcc
mov edx, dword [esp + 0x64]
test byte [edx], al
mov edx, dword [edx + 0x14]
mov dword [esp + 0x1c], edx
test edx, edx
sete dl
mov byte [esp + 0x17], dl
je 0x4deb59
jmp 0x4deb73
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x6c]
test edx, edx
sete dl
test ebx, ebx
sete bl
and ebx, edx
mov byte [esp + 0x17], bl
jmp 0x4deb75
jmp 0x4deb75
movzx edx, byte [esp + 0x17]
test dl, dl
jne 0x4deb80
jmp 0x4debc7
mov eax, dword [esp + 0x64]
test byte [eax], al
movzx eax, byte [eax + 0xa]
mov byte [esp + 0x14], al
mov eax, dword [esp + 0x64]
test byte [eax], al
mov byte [eax + 0xa], 0
mov eax, dword [esp + 0x64]
test byte [eax], al
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004de070
mov eax, dword [esp + 0x64]
test byte [eax], al
movzx ecx, byte [esp + 0x14]
mov byte [eax + 0xa], cl
add esp, 0x60
ret
jmp 0x4dec89
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 0xa]
mov byte [esp + 0x16], dl
test dl, dl
jne 0x4debe0
jmp 0x4debf3
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 6]
xor edx, 1
mov byte [esp + 0x16], dl
jmp 0x4debf5
jmp 0x4debf5
movzx edx, byte [esp + 0x16]
mov byte [esp + 0x17], dl
test dl, dl
jne 0x4dec04
jmp 0x4dec14
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 4]
mov byte [esp + 0x17], dl
jmp 0x4dec16
jmp 0x4dec16
movzx edx, byte [esp + 0x17]
test dl, dl
jne 0x4dec21
jmp 0x4dec85
mov edx, dword [esp + 0x64]
test byte [edx], al
mov edx, dword [edx + 0x10]
mov dword [esp + 0x1c], edx
movzx edx, byte [esp + 0x15]
mov byte [esp + 0x17], dl
test dl, dl
jne 0x4dec3d
jmp 0x4dec3f
jmp 0x4dec4f
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 7]
mov byte [esp + 0x17], dl
jmp 0x4dec4f
movzx edx, byte [esp + 0x17]
mov byte [esp + 0x16], dl
test dl, dl
jne 0x4dec5e
jmp 0x4dec60
jmp 0x4dec70
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 9]
mov byte [esp + 0x16], dl
jmp 0x4dec70
movzx edx, byte [esp + 0x16]
test dl, dl
jne 0x4dec7b
jmp 0x4dec81
dec dword [esp + 0x1c]
jmp 0x4dec83
jmp 0x4dec83
jmp 0x4dec87
jmp 0x4dec87
jmp 0x4dec89
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0x3c], edx
cmp edx, 8
jle 0x4deca0
jmp 0x4decbf
cmp edx, 2
je 0x4deca7
jmp 0x4decae
jmp 0x4deca9
jmp 0x4df2ca
cmp edx, 8
je 0x4decb8
jmp 0x4df2c3
jmp 0x4decba
jmp 0x4df249
cmp edx, 0xa
je 0x4decc6
jmp 0x4deccd
jmp 0x4decc8
jmp 0x4df139
cmp edx, 0x10
je 0x4decd7
jmp 0x4df11b
jmp 0x4decd9
jmp 0x4decdb
mov edx, dword [esp + 0x6c]
test edx, edx
seta bl
test edx, edx
sete dl
cmp dword [esp + 0x68], 0x10
xchg ebp, ebx
setae bl
xchg ebp, ebx
and edx, ebp
or ebx, edx
test bl, bl
jne 0x4decff
jmp 0x4ded67
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x68]
and ebp, 0xf
jmp 0x4ded1e
cmp ecx, ebp
ja 0x4ded27
jmp 0x4df114
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
add ebx, ebp
movzx ebx, byte [ebx]
cmp ecx, eax
ja 0x4ded3d
jmp 0x4df10f
lea edx, [edx + edi - 1]
mov byte [edx], bl
mov edx, dword [esp + 0x6c]
mov ebx, edx
shr edx, 4
shl ebx, 0x1c
mov ebp, dword [esp + 0x68]
shr ebp, 4
or ebp, ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
jmp 0x4ded62
jmp 0x4decdb
jmp 0x4ded69
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ebx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
test esi, esi
je 0x4ded90
jmp 0x4df108
cmp ecx, ebx
ja 0x4ded99
jmp 0x4df101
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
add ebx, ebp
movzx ebx, byte [ebx]
cmp ecx, eax
ja 0x4dedaf
jmp 0x4df0fc
lea edx, [edx + esi - 1]
mov byte [edx], bl
jmp 0x4dedb7
mov edx, dword [esp + 0x28]
test edx, edx
setg dl
mov byte [esp + 0x17], dl
jg 0x4dedc8
jmp 0x4dede3
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x28]
sub edx, ebx
cmp dword [esp + 0x1c], edx
setg dl
mov byte [esp + 0x17], dl
jmp 0x4dede5
jmp 0x4dede5
movzx edx, byte [esp + 0x17]
test dl, dl
jne 0x4dedf0
jmp 0x4dee17
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4dee0c
jmp 0x4df0f7
lea edx, [edx + ebx - 1]
mov byte [edx], 0x30
jmp 0x4dee15
jmp 0x4dedb7
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 8]
test dl, dl
jne 0x4dee2a
jmp 0x4def47
mov edx, dword [esp + 0x70]
mov dword [esp + 0x38], edx
cmp edx, 2
je 0x4dee39
jmp 0x4dee86
jmp 0x4dee3b
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4dee57
jmp 0x4df0f2
lea edx, [edx + ebx - 1]
mov byte [edx], 0x62
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4dee7a
jmp 0x4df0ed
lea edx, [edx + ebx - 1]
mov byte [edx], 0x30
jmp 0x4def45
cmp edx, 8
je 0x4dee8d
jmp 0x4deed6
jmp 0x4dee8f
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4deea4
jmp 0x4df0e8
add edx, eax
cmp byte [edx], 0x30
jne 0x4deead
jmp 0x4deed2
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4deec9
jmp 0x4df0e3
lea edx, [edx + ebx - 1]
mov byte [edx], 0x30
jmp 0x4deed4
jmp 0x4deed4
jmp 0x4def45
cmp edx, 0x10
je 0x4deedd
jmp 0x4def3f
jmp 0x4deedf
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x7c]
cmp ecx, 0x10
ja 0x4deeff
jmp 0x4df0d9
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
movzx ebx, byte [ebx + 0x10]
cmp ecx, eax
ja 0x4def14
jmp 0x4df0d4
lea edx, [edx + ebp - 1]
mov byte [edx], bl
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4def36
jmp 0x4df0cf
lea edx, [edx + ebx - 1]
mov byte [edx], 0x30
jmp 0x4def45
jmp 0x4def41
jmp 0x4def43
jmp 0x4def45
jmp 0x4def49
jmp 0x4def49
cmp dword [esp + 0x78], 0x4f
je 0x4def52
jmp 0x4def9a
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4def6e
jmp 0x4df0ca
lea edx, [edx + ebx - 1]
mov byte [edx], 0x6f
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4def91
jmp 0x4df0c5
lea edx, [edx + ebx - 1]
mov byte [edx], 0x30
jmp 0x4def9c
jmp 0x4def9c
movzx edx, byte [esp + 0x15]
test dl, dl
jne 0x4defa7
jmp 0x4defcc
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4defc3
jmp 0x4df0c0
lea edx, [edx + ebx - 1]
mov byte [edx], 0x2d
jmp 0x4df03c
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 7]
test dl, dl
jne 0x4defdc
jmp 0x4df001
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4deff8
jmp 0x4df0bb
lea edx, [edx + ebx - 1]
mov byte [edx], 0x2b
jmp 0x4df03a
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 9]
test dl, dl
jne 0x4df011
jmp 0x4df036
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
cmp ecx, eax
ja 0x4df02d
jmp 0x4df0b6
lea edx, [edx + ebx - 1]
mov byte [edx], 0x20
jmp 0x4df038
jmp 0x4df038
jmp 0x4df03a
jmp 0x4df03c
mov edx, dword [esp + 0x64]
test byte [edx], al
movzx edx, byte [edx + 0xa]
mov byte [esp + 0x13], dl
mov edx, dword [esp + 0x64]
test byte [edx], al
mov byte [edx + 0xa], 0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x50]
jmp 0x4df066
cmp eax, ecx
jbe 0x4df06c
jmp 0x4df0b1
sub ebx, eax
sub ecx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
add eax, edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebp
mov edx, dword [esp + 0x64]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call fcn.004de2c0
mov eax, dword [esp + 0x64]
test byte [eax], al
movzx ecx, byte [esp + 0x13]
mov byte [eax + 0xa], cl
add esp, 0x60
ret
call fcn.00475890
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
mov eax, 0x10
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
call fcn.00475830
mov eax, ebx
call fcn.00475840
mov eax, ebx
call fcn.00475910
call fcn.00475830
mov eax, ebp
call fcn.00475840
jmp 0x4df11d
jmp 0x4df11f
jmp 0x4df121
lea eax, [0x5115e0]
mov dword [esp], eax
lea eax, [0x53a758]
mov dword [esp + 4], eax
call fcn.0046fd20
mov edx, dword [esp + 0x6c]
test edx, edx
sete bl
test edx, edx
seta dl
cmp dword [esp + 0x68], 0xa
xchg ebp, ebx
setae bl
xchg ebp, ebx
and ebx, ebp
or edx, ebx
test dl, dl
jne 0x4df160
jmp 0x4df23b
mov edx, dword [esp + 0x28]
lea ebx, [edx - 1]
mov dword [esp + 0x28], ebx
mov ebp, dword [esp + 0x68]
mov eax, 0xcccccccd
mov ecx, edx
mul ebp
mov eax, 0xcccccccd
mov esi, edx
mul ebp
shr edx, 3
lea edx, [edx + edx*4]
shl edx, 1
sub ebp, edx
shr esi, 3
mov edx, dword [esp + 0x6c]
mov eax, 0xcccccccd
mov edi, edx
mul edx
mov dword [esp + 0x34], edx
mov eax, 0xcccccccd
mul edi
shr edx, 3
lea edx, [edx + edx*4]
shl edx, 1
sub edi, edx
mov eax, edi
mov edx, 0x19999999
mul edx
mov dword [esp + 0x30], edx
lea edi, [edi + edi*2]
lea ebp, [ebp + edi*2]
mov edi, eax
mov eax, 0xcccccccd
mul ebp
mov ebp, dword [esp + 0x34]
shr ebp, 3
shr edx, 3
add esi, 0
adc ebp, 0
add esi, edi
mov edi, dword [esp + 0x30]
adc ebp, edi
add esi, edx
mov dword [esp + 0x20], esi
adc ebp, 0
mov dword [esp + 0x24], ebp
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x68]
mov eax, esi
mov esi, ebp
mov ebp, 0xa
mul ebp
sub edi, eax
add edi, 0x30
mov edx, dword [esp + 0x2c]
cmp edx, ebx
ja 0x4df21c
jmp 0x4df240
lea edx, [ecx + esi - 1]
xchg edi, eax
mov byte [edx], al
xchg edi, eax
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ebx
jmp 0x4df236
jmp 0x4df139
jmp 0x4ded69
mov eax, ebx
mov ecx, edx
call fcn.00475830
mov edx, dword [esp + 0x6c]
test edx, edx
seta bl
test edx, edx
sete dl
cmp dword [esp + 0x68], 8
xchg ebp, ebx
setae bl
xchg ebp, ebx
and edx, ebp
or ebx, edx
test bl, bl
jne 0x4df26d
jmp 0x4df2b9
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x68]
and ebp, 7
add ebp, 0x30
cmp ecx, eax
ja 0x4df290
jmp 0x4df2be
lea edx, [edx + ebx - 1]
xchg ebp, eax
mov byte [edx], al
xchg ebp, eax
mov edx, dword [esp + 0x6c]
mov ebx, edx
shr edx, 3
shl ebx, 0x1d
mov ebp, dword [esp + 0x68]
shr ebp, 3
or ebp, ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
jmp 0x4df2b7
jmp 0x4df249
jmp 0x4ded69
call fcn.00475830
jmp 0x4df2c5
jmp 0x4df11f
mov edx, dword [esp + 0x6c]
test edx, edx
seta bl
test edx, edx
sete dl
cmp dword [esp + 0x68], 2
xchg ebp, ebx
setae bl
xchg ebp, ebx
and edx, ebp
or ebx, edx
test bl, bl
jne 0x4df2ee
jmp 0x4df338
mov edx, dword [esp + 0x28]
lea eax, [edx - 1]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x68]
and ebp, 1
add ebp, 0x30
cmp ecx, eax
ja 0x4df311
jmp 0x4df33d
lea edx, [edx + ebx - 1]
xchg ebp, eax
mov byte [edx], al
xchg ebp, eax
mov edx, dword [esp + 0x6c]
mov ebx, edx
shr edx, 1
shl ebx, 0x1f
mov ebp, dword [esp + 0x68]
shr ebp, 1
or ebp, ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x6c], edx
jmp 0x4df336
jmp 0x4df2ca
jmp 0x4ded69
call fcn.00475830
nop
call fcn.004743b0
jmp fcn.004dea10