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

Disassembly:
mov ecx, dword [0x6b21fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x48]
cmp eax, dword [ecx + 8]
jbe 0x4df2b2
sub esp, 0xc8
mov ebx, dword [esp + 0xcc]
mov ebp, dword [ebx + 0x10]
mov esi, dword [ebx + 0x14]
mov edi, dword [esp + 0xd0]
sub edi, ebp
mov eax, ebx
mov ebx, dword [esp + 0xd8]
sub ebx, ebp
mov ebp, dword [esp + 0xe0]
mov ecx, dword [ebp + 0x2c]
mov edx, ebp
mov ebp, dword [esp + 0xdc]
sub ebp, esi
mov dword [esp + 0x28], ebp
shl edi, 2
mov dword [esp + 0x40], edi
shl ebx, 2
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0xd4]
sub ebx, esi
cmp ecx, 1
jg 0x4de953
test ecx, ecx
jne 0x4de921
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xa4]
jmp 0x4df0f3
cmp ecx, 1
jne 0x4de9ac
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xb4]
jmp 0x4deea5
cmp ecx, 2
jne 0x4de981
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x94]
jmp 0x4dec20
cmp ecx, 3
jne 0x4de9ac
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x9c]
jmp 0x4de9f0
mov byte [esp + 0xec], 0
add esp, 0xc8
ret
mov eax, dword [esp + 0x2c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x4c]
inc eax
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0xe4]
mov edi, dword [esp + 0x28]
mov ecx, esi
mov ebp, edi
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xcc]
cmp ebx, ebp
je 0x4dea96
mov ebp, dword [eax + 4]
mov esi, dword [eax + 0xc]
imul esi, ebx
cmp ebp, esi
jb 0x4debe6
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebp
mov ebx, dword [eax]
mov eax, dword [eax + 8]
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
mov edi, dword [edx + 0x34]
mov dword [esp + 0x80], edi
mov ebp, dword [esp + 0x4c]
sub ebp, edi
imul ebp, dword [edx + 0x24]
mov dword [esp + 0x7c], ebp
mov ebp, dword [edx + 0x30]
sub ecx, ebp
mov ebp, dword [esp + 0x4c]
shr ebp, 0x1f
mov esi, dword [esp + 0x4c]
add ebp, esi
sar ebp, 1
shr edi, 0x1f
mov esi, dword [esp + 0x80]
add esi, edi
sar esi, 1
sub ebp, esi
imul ebp, dword [edx + 0x28]
add ebx, eax
mov dword [esp + 0xbc], ebx
mov esi, dword [esp + 0x84]
mov eax, ebx
mov ebx, dword [esp + 0x88]
sub esi, ebx
mov ebx, dword [esp + 0x7c]
add ebx, ecx
add ebp, ecx
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
jmp 0x4deaf4
mov byte [esp + 0xec], 1
add esp, 0xc8
ret
mov ebp, esi
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edi, ebp
mov ebp, dword [esp + 0xbc]
mov byte [ebp + edi], dl
mov byte [ebp + edi + 1], al
mov byte [ebp + edi + 2], bl
mov byte [ebp + edi + 3], 0xff
mov eax, dword [esp + 0x18]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x70]
inc eax
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0xe0]
mov edx, edi
mov edi, ecx
mov ebp, eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x3c]
cmp edi, ecx
je 0x4de9bb
mov ecx, dword [edx + 4]
cmp ebx, ecx
jae 0x4debdf
mov ecx, dword [edx]
mov eax, dword [edx + 0x10]
movzx ecx, byte [ebx + ecx]
cmp ebp, eax
jae 0x4debd6
mov dword [esp + 0x18], ebx
mov eax, dword [edx + 0xc]
mov ebx, dword [edx + 0x1c]
movzx eax, byte [ebp + eax]
cmp ebp, ebx
jae 0x4debcd
imul ebx, ecx, 0x10101
mov ecx, dword [edx + 0x18]
movzx ecx, byte [ecx + ebp]
imul edx, ecx, 0x166e9
lea edx, [ebx + edx - 0xb37480]
test edx, 0xff000000
jne 0x4deb56
sar edx, 0x10
jmp 0x4deb5b
sar edx, 0x1f
not edx
mov dword [esp + 8], ebx
mov dword [esp + 0x70], ebp
imul ebp, eax, 0x581a
sub ebx, ebp
imul ebp, ecx, 0xb6d2
sub ebx, ebp
add ebx, 0x877600
test ebx, 0xff000000
jne 0x4deb86
sar ebx, 0x10
jmp 0x4deb8b
sar ebx, 0x1f
not ebx
imul ebp, eax, 0x1c5a2
mov eax, ebx
mov ebx, dword [esp + 8]
lea ebx, [ebp + ebx - 0xe2d100]
test ebx, 0xff000000
jne 0x4debab
sar ebx, 0x10
jmp 0x4debb0
sar ebx, 0x1f
not ebx
lea ecx, [edi + 4]
cmp esi, ecx
jb 0x4debc6
cmp edi, ecx
jbe 0x4deaa5
mov eax, edi
call fcn.00468990
mov edx, esi
call fcn.00468980
mov eax, ebp
mov ecx, ebx
call fcn.004688d0
mov ecx, eax
mov eax, ebp
call fcn.004688d0
mov eax, ebx
call fcn.004688d0
mov eax, esi
mov ecx, ebp
call fcn.00468930
mov eax, dword [esp + 0x30]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x50]
inc eax
mov ecx, dword [esp + 0xe4]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xcc]
cmp ebx, ebp
je 0x4dea96
mov ebp, dword [eax + 4]
mov esi, dword [eax + 0xc]
imul esi, ebx
cmp ebp, esi
jb 0x4dee69
mov dword [esp + 0x30], ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebp
mov ebx, dword [eax]
mov eax, dword [eax + 8]
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
mov ebp, dword [esp + 0x50]
shr ebp, 0x1f
mov esi, dword [esp + 0x50]
add ebp, esi
sar ebp, 1
mov edi, dword [edx + 0x34]
mov dword [esp + 0x80], edi
sub esi, edi
imul esi, dword [edx + 0x24]
mov dword [esp + 0x7c], esi
shr edi, 0x1f
mov esi, dword [esp + 0x80]
add esi, edi
sar esi, 1
sub ebp, esi
imul ebp, dword [edx + 0x28]
mov dword [esp + 0x80], ebp
mov esi, dword [edx + 0x30]
mov dword [esp + 0x78], esi
mov edi, ecx
sub ecx, esi
shr esi, 0x1f
mov ebp, dword [esp + 0x78]
add ebp, esi
sar ebp, 1
add ebx, eax
mov dword [esp + 0xc0], ebx
mov esi, dword [esp + 0x84]
mov eax, ebx
mov ebx, dword [esp + 0x88]
sub esi, ebx
mov ebx, dword [esp + 0x7c]
add ebx, ecx
mov ecx, esi
mov esi, dword [esp + 0x80]
sub esi, ebp
mov dword [esp + 0x68], esi
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x8c]
jmp 0x4ded50
mov edx, ecx
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ecx, ebx
mov ebx, dword [esp + 0xc0]
xchg edi, eax
mov byte [ebx + ecx], al
xchg edi, eax
mov byte [ebx + ecx + 1], al
xchg ebp, eax
mov byte [ebx + ecx + 2], al
xchg ebp, eax
mov byte [ebx + ecx + 3], 0xff
mov eax, dword [esp + 0x5c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x1c]
inc eax
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0xe0]
mov ecx, edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x44], esi
mov ebx, eax
mov eax, dword [esp + 0xc0]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x44]
cmp ebx, ebp
je 0x4debef
mov dword [esp + 0x5c], edi
shr edi, 0x1f
mov ebp, dword [esp + 0x5c]
add edi, ebp
sar edi, 1
mov ebp, dword [edx + 4]
add edi, esi
mov esi, dword [esp + 0x1c]
cmp esi, ebp
jae 0x4dee60
mov ebp, dword [edx]
mov eax, dword [edx + 0x10]
movzx ebp, byte [ebp + esi]
cmp eax, edi
jbe 0x4dee57
mov eax, dword [edx + 0xc]
mov esi, dword [edx + 0x1c]
movzx eax, byte [eax + edi]
cmp esi, edi
jbe 0x4dee4e
imul ebp, ebp, 0x10101
mov esi, dword [edx + 0x18]
movzx esi, byte [esi + edi]
imul edi, esi, 0x166e9
lea edi, [edi + ebp - 0xb37480]
test edi, 0xff000000
jne 0x4dedcb
sar edi, 0x10
jmp 0x4dedd4
sar edi, 0x1f
xchg edi, ebx
not ebx
xchg edi, ebx
mov dword [esp + 0xc], ebp
imul edx, eax, 0x581a
sub ebp, edx
imul esi, esi, 0xb6d2
sub ebp, esi
add ebp, 0x877600
test ebp, 0xff000000
jne 0x4dedfb
sar ebp, 0x10
jmp 0x4dee04
sar ebp, 0x1f
xchg ebp, ebx
not ebx
xchg ebp, ebx
imul esi, eax, 0x1c5a2
mov eax, ebp
mov ebp, dword [esp + 0xc]
lea ebp, [esi + ebp - 0xe2d100]
test ebp, 0xff000000
jne 0x4dee24
sar ebp, 0x10
jmp 0x4dee2d
sar ebp, 0x1f
xchg ebp, ebx
not ebx
xchg ebp, ebx
lea esi, [ebx + 4]
cmp ecx, esi
jb 0x4dee45
cmp ebx, esi
jbe 0x4decf9
mov eax, ebx
mov ecx, esi
call fcn.00468990
mov edx, ecx
mov ecx, esi
call fcn.00468980
mov eax, edi
mov ecx, esi
call fcn.004688d0
mov ecx, eax
mov eax, edi
call fcn.004688d0
mov eax, esi
mov ecx, ebp
call fcn.004688d0
mov eax, esi
mov ecx, ebp
call fcn.00468930
mov eax, dword [esp + 0x34]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x54]
inc eax
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x40]
mov ecx, ebp
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xcc]
cmp ebx, ebp
je 0x4dea96
mov ebp, dword [eax + 4]
mov esi, dword [eax + 0xc]
imul esi, ebx
cmp ebp, esi
jb 0x4df0b5
mov dword [esp + 0x88], ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x84], esi
mov ebx, dword [eax]
mov eax, dword [eax + 8]
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
mov edi, dword [edx + 0x24]
mov ebp, dword [edx + 0x30]
sub ecx, ebp
mov dword [esp + 0x80], ecx
mov ecx, dword [edx + 0x34]
mov esi, dword [esp + 0x54]
sub esi, ecx
imul edi, esi
mov ecx, dword [edx + 0x28]
imul esi, ecx
mov ecx, ebp
shr ebp, 0x1f
add ebp, ecx
sar ebp, 1
add ebx, eax
mov eax, ebx
mov ebx, dword [esp + 0x88]
mov ecx, ebp
mov ebp, dword [esp + 0x84]
sub ebx, ebp
mov dword [esp + 0x64], ebx
mov ebp, dword [esp + 0x80]
add ebp, edi
sub esi, ecx
mov dword [esp + 0x6c], esi
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0xe4]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xac]
jmp 0x4defa1
sub ebx, edi
neg ebx
sar ebx, 0x1f
and ebx, edi
mov byte [eax + ebx], cl
xchg ebp, ecx
mov byte [eax + ebx + 1], cl
xchg ebp, ecx
xchg esi, ecx
mov byte [eax + ebx + 2], cl
xchg esi, ecx
mov byte [eax + ebx + 3], 0xff
mov ecx, dword [esp + 0x60]
lea edi, [ecx + 1]
mov ecx, dword [esp + 0x20]
lea ebp, [ecx + 1]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xe0]
mov esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0x48]
cmp ebx, ecx
je 0x4dee72
mov dword [esp + 0x60], edi
shr edi, 0x1f
mov ebx, dword [esp + 0x60]
add edi, ebx
sar edi, 1
mov ecx, dword [edx + 4]
add edi, esi
cmp ebp, ecx
jae 0x4df0ae
mov ecx, dword [edx]
mov esi, dword [edx + 0x10]
movzx ecx, byte [ecx + ebp]
cmp esi, edi
jbe 0x4df0a5
mov dword [esp + 0x20], ebp
mov esi, dword [edx + 0xc]
mov ebp, dword [edx + 0x1c]
movzx esi, byte [esi + edi]
cmp ebp, edi
jbe 0x4df09c
imul ebp, ecx, 0x10101
mov ecx, dword [edx + 0x18]
movzx edi, byte [ecx + edi]
imul ecx, edi, 0x166e9
lea ecx, [ecx + ebp - 0xb37480]
test ecx, 0xff000000
jne 0x4df017
sar ecx, 0x10
jmp 0x4df01c
sar ecx, 0x1f
not ecx
mov dword [esp + 0x10], ebp
imul edx, esi, 0x581a
sub ebp, edx
imul edi, edi, 0xb6d2
sub ebp, edi
add ebp, 0x877600
test ebp, 0xff000000
jne 0x4df043
sar ebp, 0x10
jmp 0x4df04c
sar ebp, 0x1f
xchg ebp, ebx
not ebx
xchg ebp, ebx
imul esi, esi, 0x1c5a2
mov edi, dword [esp + 0x10]
lea esi, [esi + edi - 0xe2d100]
test esi, 0xff000000
jne 0x4df06a
sar esi, 0x10
jmp 0x4df073
sar esi, 0x1f
xchg esi, ebx
not ebx
xchg esi, ebx
mov edi, dword [esp + 0x48]
lea edx, [edi + 4]
mov ebx, dword [esp + 0x64]
cmp ebx, edx
jb 0x4df093
cmp edi, edx
jbe 0x4def54
mov eax, edi
mov ecx, edx
call fcn.00468990
mov ecx, edx
mov edx, ebx
call fcn.00468980
mov eax, edi
mov ecx, ebp
call fcn.004688d0
mov eax, edi
mov ecx, esi
call fcn.004688d0
mov eax, ebp
call fcn.004688d0
mov eax, esi
mov ecx, ebp
call fcn.00468930
mov eax, dword [esp + 0x38]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x58]
inc eax
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0x28]
mov ecx, ebp
mov ebp, edi
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xcc]
cmp ebx, ebp
je 0x4dea96
mov ebp, dword [eax + 4]
mov esi, dword [eax + 0xc]
imul esi, ebx
cmp ebp, esi
jb 0x4df2a8
mov dword [esp + 0x38], ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebp
mov ebx, dword [eax]
mov eax, dword [eax + 8]
sub eax, esi
neg eax
sar eax, 0x1f
and eax, esi
mov edi, dword [edx + 0x24]
mov ebp, dword [edx + 0x34]
mov esi, dword [esp + 0x58]
sub esi, ebp
imul edi, esi
mov ebp, dword [edx + 0x28]
imul esi, ebp
mov ebp, dword [edx + 0x30]
sub ecx, ebp
add ebx, eax
mov dword [esp + 0xc4], ebx
mov ebp, dword [esp + 0x84]
mov eax, ebx
mov ebx, dword [esp + 0x88]
sub ebp, ebx
lea ebx, [edi + ecx]
add esi, ecx
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
jmp 0x4df1b7
mov esi, ebp
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
mov edi, dword [esp + 0xc4]
mov byte [edi + esi], dl
mov byte [edi + esi + 1], al
mov byte [edi + esi + 2], bl
mov byte [edi + esi + 3], 0xff
mov eax, dword [esp + 0x24]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x74]
lea esi, [eax + 1]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0xe0]
mov eax, edi
mov edi, ecx
mov ecx, dword [esp + 0x3c]
cmp edi, ecx
je 0x4df0be
mov ecx, dword [edx + 4]
cmp ebx, ecx
jae 0x4df2a1
mov ecx, dword [edx]
mov eax, dword [edx + 0x10]
movzx ecx, byte [ecx + ebx]
cmp esi, eax
jae 0x4df298
mov dword [esp + 0x24], ebx
mov eax, dword [edx + 0xc]
mov ebx, dword [edx + 0x1c]
movzx eax, byte [eax + esi]
cmp esi, ebx
jae 0x4df28f
imul ebx, ecx, 0x10101
mov ecx, dword [edx + 0x18]
movzx ecx, byte [ecx + esi]
imul edx, ecx, 0x166e9
lea edx, [edx + ebx - 0xb37480]
test edx, 0xff000000
jne 0x4df218
sar edx, 0x10
jmp 0x4df21d
sar edx, 0x1f
not edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x74], esi
imul esi, eax, 0x581a
sub ebx, esi
imul esi, ecx, 0xb6d2
sub ebx, esi
add ebx, 0x877600
test ebx, 0xff000000
jne 0x4df248
sar ebx, 0x10
jmp 0x4df24d
sar ebx, 0x1f
not ebx
imul esi, eax, 0x1c5a2
mov eax, ebx
mov ebx, dword [esp + 0x14]
lea ebx, [esi + ebx - 0xe2d100]
test ebx, 0xff000000
jne 0x4df26d
sar ebx, 0x10
jmp 0x4df272
sar ebx, 0x1f
not ebx
lea ecx, [edi + 4]
cmp ebp, ecx
jb 0x4df288
cmp edi, ecx
jbe 0x4df170
mov eax, edi
call fcn.00468990
mov edx, ebp
call fcn.00468980
mov eax, esi
mov ecx, ebx
call fcn.004688d0
mov ecx, eax
mov eax, esi
call fcn.004688d0
mov eax, ebx
call fcn.004688d0
mov eax, esi
mov ecx, ebp
call fcn.00468930
nop
call fcn.00467460
jmp fcn.004de880