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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x476321
add esp, 0xffffff80
mov edx, dword [esp + 0x9c]
test edx, edx
sete bl
mov ebp, dword [esp + 0x98]
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
and ebx, esi
test bl, bl
je 0x475a0f
xor eax, eax
jmp 0x475a16
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
mov ebx, dword [ebx]
lea ecx, [ebx - 0x3c]
neg ecx
cmp ecx, 0x20
sbb ebx, ebx
lea esi, [ecx - 0x20]
mov dword [esp + 0x60], esi
cmp esi, 0x20
sbb edi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
mov dword [esp + 0x5c], esi
cmp esi, 0x20
sbb esi, esi
shl ebp, cl
shl edx, cl
and ebp, ebx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x60]
mov ebp, dword [esp + 0x98]
shl ebp, cl
and ebp, edi
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x98]
shr edi, cl
and edi, esi
and edx, ebx
or edx, edi
or edx, ebp
mov ebx, dword [esp + 0x58]
jmp 0x475a86
shl edx, 1
mov ebp, ebx
shr ebx, 0x1f
or edx, ebx
shl ebp, 1
dec eax
mov ebx, ebp
test edx, edx
xchg ebp, ebx
setne bl
xchg ebp, ebx
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x475ab6
test edx, 0x10000000
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x475a78
mov ebp, dword [esp + 0x90]
cmp ebp, 0xf
jae 0x475c3c
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], edx
shl ebp, 2
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x60], edi
lea ecx, [ebp - 0x20]
mov dword [esp + 0x5c], ecx
neg ecx
cmp ecx, 0x20
sbb esi, esi
mov edi, dword [esp + 0x5c]
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x58], edi
lea edi, [ebp - 0x3c]
xchg edi, ebx
neg ebx
xchg edi, ebx
mov dword [esp + 0x4c], edi
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x48], edx
lea edx, [edi - 0x20]
mov dword [esp + 0x44], edx
neg edx
mov dword [esp + 0x40], edx
cmp edx, 0x20
sbb edx, edx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x44]
cmp edx, 0x20
sbb edx, edx
mov dword [esp + 0x38], edx
shr ebx, cl
and ebx, esi
mov ecx, ebp
mov esi, dword [esp + 0x50]
shl esi, cl
mov edx, dword [esp + 0x60]
and esi, edx
mov ecx, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
shl edi, cl
mov ecx, edx
mov edx, dword [esp + 0x58]
and edx, edi
or esi, ebx
or esi, edx
and esi, 0xfffffff
cmp esi, 0x8000000
sete dl
mov byte [esp + 0x23], dl
mov ebx, ecx
mov ecx, ebp
mov edi, dword [esp + 0x54]
mov ebp, edi
shl edi, cl
and edi, ebx
mov ecx, dword [esp + 0x4c]
shr ebp, cl
mov ebx, dword [esp + 0x48]
and ebp, ebx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x50]
shl edx, cl
mov ebx, dword [esp + 0x3c]
and edx, ebx
or edx, ebp
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x50]
shr ebx, cl
mov ebp, dword [esp + 0x38]
and ebx, ebp
or edx, ebx
mov ebx, edx
and edx, 1
or edx, edi
test edx, edx
seta dl
cmp esi, 0x8000000
xchg esi, ebx
seta bl
xchg esi, ebx
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
shr ebp, cl
mov edi, dword [esp + 0x48]
and ebp, edi
movzx edi, byte [esp + 0x23]
and edi, edx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x475be5
add ebx, 1
adc ebp, 0
mov edx, ecx
mov ecx, dword [esp + 0x44]
mov esi, ebx
shl ebx, cl
mov edi, dword [esp + 0x38]
and ebx, edi
mov ecx, dword [esp + 0x40]
mov edi, esi
shr esi, cl
mov ecx, edi
mov edi, dword [esp + 0x3c]
and esi, edi
mov edi, ecx
mov ecx, edx
shl ebp, cl
mov edx, dword [esp + 0x48]
and ebp, edx
or esi, ebp
or esi, ebx
shl edi, cl
and edi, edx
test esi, 0x20000000
je 0x475c2f
shr edi, 1
mov ecx, esi
shl esi, 0x1f
or edi, esi
shr ecx, 1
inc eax
jmp 0x475c31
mov ecx, esi
mov ebp, dword [esp + 0x90]
mov ebx, edi
mov edx, ecx
movzx ecx, byte [esp + 0x94]
cmp cl, 0x58
jne 0x475c51
lea esi, [0x514b46]
jmp 0x475c57
lea esi, [0x514b56]
mov dword [esp + 0x74], esi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x5c], edx
movzx edi, byte [esp + 0x95]
xchg edi, eax
test al, al
xchg edi, eax
je 0x475d02
mov edi, dword [esp + 0x88]
lea esi, [edi + 1]
mov ebp, dword [esp + 0x8c]
cmp ebp, esi
jb 0x475ca3
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x6c]
jmp 0x475cf8
lea eax, [0x4fdae0]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00449cd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [ecx + 1]
movzx ecx, byte [esp + 0x94]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x7c], eax
mov ebp, edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x7c]
mov byte [ebx + edi], 0x2d
jmp 0x475d17
mov esi, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
lea edi, [esi + 3]
cmp ebp, edi
jae 0x475d63
mov dword [esp + 0x30], esi
lea eax, [0x4fdae0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 3]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x94]
mov edx, dword [esp + 0x5c]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x30], edi
mov byte [ebx + esi], 0x30
mov byte [ebx + esi + 1], cl
shr edx, 0x1c
and edx, 1
add edx, 0x30
mov byte [ebx + esi + 2], dl
mov edx, dword [esp + 0x5c]
shl edx, 4
mov esi, dword [esp + 0x60]
shr esi, 0x1c
or esi, edx
mov dword [esp + 0x5c], esi
mov edx, dword [esp + 0x60]
shl edx, 4
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x90]
test ecx, ecx
jge 0x475e15
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
test edx, edx
setne dl
or edx, esi
test dl, dl
je 0x475e0b
lea ecx, [edi + 1]
cmp ebp, ecx
jae 0x475df6
lea eax, [0x4fdae0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], 0x2e
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
jmp 0x47628e
test ecx, ecx
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
jle 0x475e79
lea ecx, [edi + 1]
cmp ebp, ecx
jae 0x475e5b
lea eax, [0x4fdae0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], 0x2e
mov edi, dword [esp + 0x90]
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
jmp 0x4761e7
movzx ecx, byte [esp + 0x94]
mov edx, ecx
or ecx, 0x20
cmp dl, cl
jne 0x475e91
mov ecx, 0x70
jmp 0x475e96
mov ecx, 0x50
lea edx, [edi + 1]
cmp ebp, edx
jae 0x475edf
mov dword [esp + 0x30], edi
mov byte [esp + 0x20], cl
lea eax, [0x4fdae0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x20]
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], cl
test eax, eax
jge 0x475eef
neg eax
mov ecx, 0x2d
jmp 0x475ef4
mov ecx, 0x2b
mov dword [esp + 0x34], eax
lea esi, [edx + 1]
cmp ebp, esi
jae 0x475f41
mov dword [esp + 0x30], edx
mov byte [esp + 0x20], cl
lea eax, [0x4fdae0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x34]
movzx ecx, byte [esp + 0x20]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x30], esi
mov byte [ebx + edx], cl
cmp eax, 0x64
jge 0x475fc5
lea ecx, [esi + 2]
mov edx, eax
mov eax, 0xcccccccd
mov edi, edx
imul edx
add edx, edi
sar edx, 3
mov eax, edi
sar edi, 0x1f
sub edx, edi
lea edi, [edx + edx*4]
shl edi, 1
sub eax, edi
cmp ebp, ecx
jae 0x475fb3
mov dword [esp + 0x34], edx
mov dword [esp + 0x2c], eax
lea eax, [0x4fdae0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 2]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
add edx, 0x30
mov byte [ebx + esi], dl
add eax, 0x30
mov byte [ebx + esi + 1], al
jmp 0x47619a
mov dword [esp + 0x78], ebx
cmp eax, 0x3e8
jge 0x4760a2
lea ecx, [esi + 3]
mov edx, eax
mov eax, 0xcccccccd
mov edi, edx
imul edx
add edx, edi
mov dword [esp + 0x2c], edx
sar edx, 3
mov dword [esp + 0x28], edx
mov eax, 0xcccccccd
imul edx
mov eax, esi
mov esi, dword [esp + 0x28]
add edx, esi
sar edx, 3
mov ebx, dword [esp + 0x2c]
sar ebx, 0x1f
sub edx, ebx
lea edx, [edx + edx*4]
shl edx, 1
mov ebx, esi
sub esi, edx
lea edx, [ebx + ebx*4]
shl edx, 1
mov ebx, edi
sub edi, edx
cmp ebp, ecx
jb 0x476026
mov edx, dword [esp + 0x78]
jmp 0x476071
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edi
lea edx, [0x4fdae0]
mov dword [esp], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 3]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x7c], edx
mov eax, 0x51eb851f
imul ebx
sar edx, 5
add edx, 0x30
mov eax, edi
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x7c]
mov byte [ebx + edi], dl
lea edx, [esi + 0x30]
mov byte [ebx + edi + 1], dl
lea edx, [eax + 0x30]
mov byte [ebx + edi + 2], dl
jmp 0x47619a
lea ecx, [esi + 4]
mov edx, eax
mov eax, 0x51eb851f
mov edi, edx
imul edx
sar edx, 5
mov eax, esi
movzx esi, dl
imul esi, esi, 0x19a
shr esi, 0xc
lea esi, [esi + esi*4]
shl esi, 1
sub edx, esi
mov byte [esp + 0x22], dl
mov esi, eax
mov eax, 0xcccccccd
imul edi
add edx, edi
mov dword [esp + 0x2c], edx
sar edx, 3
mov dword [esp + 0x28], edx
mov eax, 0xcccccccd
imul edx
mov eax, esi
mov esi, dword [esp + 0x28]
add edx, esi
sar edx, 3
mov ebx, dword [esp + 0x2c]
sar ebx, 0x1f
sub edx, ebx
lea edx, [edx + edx*4]
shl edx, 1
mov ebx, esi
sub esi, edx
lea edx, [ebx + ebx*4]
shl edx, 1
mov ebx, edi
sub edi, edx
mov dword [esp + 0x2c], edi
cmp ebp, ecx
jb 0x47611d
mov edx, dword [esp + 0x78]
jmp 0x476164
mov dword [esp + 0x28], esi
lea edx, [0x4fdae0]
mov dword [esp], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea ecx, [eax + 4]
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov edx, ebx
mov ebx, dword [esp + 0x34]
mov eax, ebx
mov edi, 0x4189374c
mov ebx, edx
imul edi
sar edx, 8
add edx, 0x30
mov edi, dword [esp + 0x30]
mov byte [ebx + edi], dl
movzx edx, byte [esp + 0x22]
add edx, 0x30
mov byte [ebx + edi + 1], dl
lea edx, [esi + 0x30]
mov byte [ebx + edi + 2], dl
mov edx, dword [esp + 0x2c]
add edx, 0x30
mov byte [ebx + edi + 3], dl
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebp
sub esp, 0xffffff80
ret
xchg esi, eax
mov byte [ebx + ecx], al
xchg esi, eax
mov ecx, dword [esp + 0x24]
inc ecx
mov esi, dword [esp + 0x5c]
shl esi, 4
mov eax, dword [esp + 0x60]
shr eax, 0x1c
or esi, eax
mov eax, dword [esp + 0x60]
shl eax, 4
mov dword [esp + 0x24], ecx
mov edx, eax
mov ecx, edi
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x24]
cmp edi, edx
jle 0x476259
mov dword [esp + 0x5c], esi
lea edi, [ecx + 1]
shr esi, 0x1c
and esi, 0xf
mov edx, dword [esp + 0x74]
movzx esi, byte [edx + esi]
cmp ebp, edi
jae 0x4761b3
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov dword [esp + 0x2c], ecx
lea eax, [0x4fdae0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edi, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x74]
movzx esi, byte [esp + 0x21]
jmp 0x4761b3
mov edi, ecx
jmp 0x475e79
mov eax, dword [esp + 0x7c]
xchg esi, ebx
mov byte [eax + ecx], bl
xchg esi, ebx
shl ebx, 4
mov esi, dword [esp + 0x60]
mov ecx, esi
shr esi, 0x1c
or esi, ebx
shl ecx, 4
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x7c]
mov ebx, edx
mov edx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x60], edx
test esi, esi
setne bl
test edx, edx
setne dl
or ebx, edx
test bl, bl
je 0x476316
lea edx, [ecx + 1]
mov ebx, esi
shr esi, 0x1c
and esi, 0xf
movzx esi, byte [edi + esi]
cmp ebp, edx
jae 0x476260
xchg esi, eax
mov byte [esp + 0x21], al
xchg esi, eax
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x2c], ecx
lea eax, [0x4fdae0]
mov dword [esp], eax
mov ebx, dword [esp + 0x7c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00449cd0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
movzx esi, byte [esp + 0x21]
mov edi, dword [esp + 0x74]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x5c]
jmp 0x476260
mov edi, ecx
mov ebx, dword [esp + 0x7c]
jmp 0x475e79
call fcn.0045ec00
jmp fcn.004759d0