Function at 0x4da960
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 0x4db3c9
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 0x4da9c6
cmp ebp, 0
jne 0x4da9c6
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 0x4daca1
mov esi, dword [esp + 0xc0]
cmp esi, 0
je 0x4db3c2
mov edx, dword [esp + 0xb8]
cmp edx, 0
je 0x4db3bb
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 0x4daca1
mov ebx, dword [esp + 0x8c]
cmp ebx, edi
jne 0x4daca1
mov edi, dword [esi + 8]
mov ebp, dword [edx + 8]
cmp edi, ebp
jne 0x4daca1
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 0x4daca1
mov edx, dword [esp + 0xc0]
cmp edx, 0
je 0x4db3b4
mov esi, dword [esp + 0xc4]
cmp esi, 0
je 0x4db3ad
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 0x4daca1
mov ebx, dword [esp + 0x8c]
cmp ebx, edi
jne 0x4daca1
mov eax, dword [edx + 8]
mov ebp, dword [esi + 8]
cmp eax, ebp
jne 0x4daca1
movzx ebp, byte [edx + 0xc]
mov edx, ebp
movzx ebp, byte [esi + 0xc]
xchg ebp, eax
cmp dl, al
xchg ebp, eax
jne 0x4daca1
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.0045309a
mov dword [esp + 0x38], 0x17
mov ebx, dword [esp + 0xb8]
mov ebp, dword [ebx]
mov edx, dword [ebx + 4]
cmp edx, 0
jb 0x4dabaf
jbe 0x4dac93
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.0044b490
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 0x4dac7e
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 0x4dac77
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 0x4daaf8
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 0x4dabfa
mov ebx, dword [esp + 0x38]
inc ebx
add ebx, eax
lea ebp, [esp + 0x9c]
cmp ebx, 0x18
jae 0x4dac70
add ebp, ebx
movzx ebx, byte [ebp]
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x4dac69
mov esi, dword [ecx]
add esi, eax
mov byte [esi], bl
inc eax
mov ebp, dword [esp + 0x34]
cmp eax, ebp
jl 0x4dabc7
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 0x4dac36
mov eax, dword [ecx + 0xc]
dec eax
mov esi, dword [ecx + 4]
cmp eax, esi
jae 0x4dac62
mov esi, dword [ecx]
add esi, eax
movzx ebx, byte [esi]
cmp bl, 0x30
jne 0x4dac36
mov eax, dword [ecx + 0xc]
dec eax
mov dword [ecx + 0xc], eax
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jg 0x4dac10
mov ebp, dword [ecx + 0xc]
cmp ebp, 0
jne 0x4dac43
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.00428880
ud2
call fcn.00428880
ud2
call fcn.00428880
ud2
call fcn.00428880
ud2
imul edx, esi
mov ebp, eax
imul ebp, edi
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4dab62
cmp ebp, 0
jbe 0x4dabaf
jmp 0x4daafe
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call fcn.004d9ba0
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 0x4dad2a
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 0x4db3a4
cmp ecx, 0x20
jae 0x4db399
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 0x4dad73
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 0x4db390
cmp ecx, 0x20
jae 0x4db385
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.004d9f50
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 0x4db37c
cmp ecx, 0x20
jae 0x4db371
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 0x4db368
cmp ecx, 0x20
jae 0x4db35d
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 0x4daee6
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 0x4db330
jb 0x4daee2
mov ebx, dword [esp + 0x8c]
cmp ebx, esi
jae 0x4db330
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], 0
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x3c]
cmp ebx, ebp
jge 0x4db07b
mov ebx, dword [esp + 0x3c]
sub ebx, dword [esp + 0x44]
dec ebx
mov ebp, 0x6b5160
cmp ebx, 0x14
jae 0x4db329
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 0x4db322
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 0x4db319
cmp ecx, 0x20
jae 0x4db30e
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 0x4db062
jb 0x4dafb5
cmp esi, dword [esp + 0x94]
jae 0x4db062
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 0x4db05c
cmp ecx, 0x20
jae 0x4db054
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.004db3e0
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xc8], bl
add esp, 0xb4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4db024
xor edx, edx
xor eax, eax
jmp 0x4db01a
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 0x4daefe
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 0x4db2f9
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 0x4db2e4
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 0x4db2db
cmp ecx, 0x20
jae 0x4db2d0
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 0x4db2c9
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 0x4db2c0
cmp ecx, 0x20
jae 0x4db2b5
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 0x4db2a0
mul esi
cmp edx, dword [esp + 0x80]
jb 0x4db0ac
ja 0x4db1bb
cmp eax, dword [esp + 0x7c]
jbe 0x4db0ac
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 0x4db28b
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 0x4db279
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 0x4db273
cmp ecx, 0x20
jae 0x4db26b
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.004db3e0
movzx ebx, byte [esp + 0x2c]
mov byte [esp + 0xc8], bl
add esp, 0xb4
ret
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4db235
xor edx, edx
xor eax, eax
jmp 0x4db22b
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4db213
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4db1ed
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4db1a2
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4db169
xor edx, edx
xor eax, eax
jmp 0x4db15b
call fcn.00428880
ud2
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x4db11e
xor edx, edx
xor eax, eax
jmp 0x4db110
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4db0f0
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4db0ca
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4daf8a
xor edx, edx
xor eax, eax
jmp 0x4daf7c
call fcn.00428880
ud2
call fcn.00428880
ud2
mov eax, esi
mov edx, ebp
mov esi, 0xa
xor ebx, ebx
or ebp, ebx
jne 0x4db34b
mul esi
mov esi, eax
mov ebp, edx
inc ecx
jmp 0x4dae9b
imul edx, esi
mov ebp, eax
imul ebp, ebx
add ebp, edx
mov edx, esi
mul edx
add edx, ebp
jmp 0x4db341
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dae2c
xor edx, edx
xor eax, eax
jmp 0x4dae1e
mov eax, edx
shr eax, cl
xor edx, edx
jmp 0x4dadfa
xor edx, edx
xor eax, eax
jmp 0x4dadec
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dad68
xor edx, edx
xor eax, eax
jmp 0x4dad5a
mov edx, eax
shl edx, cl
xor eax, eax
jmp 0x4dad11
xor edx, edx
xor eax, eax
jmp 0x4dad03
mov dword [esi], eax
jmp 0x4daa75
mov dword [edx], eax
jmp 0x4daa65
mov dword [edx], eax
jmp 0x4da9f9
mov dword [esi], eax
jmp 0x4da9e9
call fcn.00450fb0
jmp fcn.004da960