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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4760bf
sub esp, 0x64
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
cmp ecx, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and ebx, edx
mov dword [esp + 0x54], ebx
mov edx, dword [eax + 8]
mov dword [esp + 0x50], edx
lea ebp, [ebx + edx - 2]
mov dword [esp + 0xc], ebp
mov esi, dword [eax]
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x7c]
add edi, esi
mov ecx, dword [esp + 0x74]
jmp 0x475af7
shl esi, 1
mov ecx, dword [esp + 0x74]
mov eax, ecx
shr ecx, 0x1f
or ecx, esi
shl eax, 1
mov edx, dword [esp + 0x7c]
lea edi, [edx - 1]
mov edx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], edi
test ecx, ecx
setne bl
mov eax, dword [esp + 0x78]
test eax, eax
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4760b8
lea ebx, [esi + 2]
cmp ebx, 0x20
sbb ebp, ebp
lea edx, [esi - 0x1e]
mov dword [esp + 0x48], edx
cmp edx, 0x20
sbb esi, esi
neg edx
cmp edx, 0x20
sbb edi, edi
mov ecx, edx
mov edx, eax
shl eax, cl
and eax, edi
mov ecx, ebx
mov edi, dword [esp + 0x74]
shr edi, cl
and edi, ebp
or edi, eax
mov ecx, dword [esp + 0x48]
mov eax, edx
shr edx, cl
and edx, esi
or edx, edi
test edx, edx
sete dl
mov ecx, ebx
mov esi, eax
shr eax, cl
test ebp, eax
sete al
and eax, edx
test al, al
jne 0x475ac3
movzx eax, byte [esp + 0x81]
test al, al
je 0x4760af
mov eax, dword [esp + 0x74]
or eax, 1
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x7c]
jmp 0x475bb6
mov eax, dword [esp + 0x74]
mov ebp, eax
shr eax, 1
mov esi, edx
shl edx, 0x1f
or eax, edx
shr esi, 1
and ebp, 1
or eax, ebp
mov ebp, dword [esp + 0x7c]
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0x4c]
mov edx, ebp
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], ebx
lea ecx, [edx - 0x1d]
cmp ecx, 0x20
sbb ebp, ebp
mov edi, ecx
neg ecx
mov dword [esp + 0x48], ecx
cmp ecx, 0x20
sbb ebx, ebx
mov dword [esp + 0x44], ebx
add edx, 3
cmp edx, 0x20
sbb ebx, ebx
mov ecx, edi
mov edi, esi
shr esi, cl
and esi, ebp
mov ecx, dword [esp + 0x48]
mov ebp, edi
shl edi, cl
mov ecx, edx
shr eax, cl
mov edx, dword [esp + 0x44]
and edi, edx
and eax, ebx
or eax, edi
or eax, esi
test eax, eax
setne al
mov edx, ebp
shr ebp, cl
test ebx, ebp
setne bl
or ebx, eax
test bl, bl
jne 0x475b93
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x74]
jmp 0x475c34
mov esi, ebp
shr ebp, 1
mov edx, ecx
shl ecx, 0x1f
or ebp, ecx
shr edx, 1
and esi, 1
or ebp, esi
inc ebx
cmp ebp, 1
xchg esi, ebx
seta bl
xchg esi, ebx
test edx, edx
xchg edi, ebx
sete bl
xchg edi, ebx
mov ecx, edx
seta dl
and edi, esi
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x475c5d
lea edx, [eax - 1]
cmp ebx, edx
jl 0x475c21
mov edx, ebp
and ebp, 3
shr edx, 2
mov esi, ecx
shl ecx, 0x1e
or ecx, edx
mov edx, ecx
and ecx, 1
or ecx, ebp
cmp ecx, 3
xchg ebp, ebx
sete bl
xchg ebp, ebx
shr esi, 2
lea edi, [ebx + 2]
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4760a0
mov dword [esp + 0x40], edi
mov dword [esp + 0x7c], ebx
add edx, 1
mov dword [esp + 0x74], edx
adc esi, 0
mov ebp, dword [esp + 0x4c]
lea ecx, [ebp - 0x1f]
mov dword [esp + 0x48], ecx
cmp ecx, 0x20
sbb eax, eax
neg ecx
mov dword [esp + 0x44], ecx
cmp ecx, 0x20
sbb edi, edi
mov ecx, dword [esp + 0x48]
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x44]
mov edx, 1
shr edx, cl
and edx, edi
and ebx, eax
or ebx, edx
cmp ebx, esi
sete al
lea ecx, [ebp + 1]
cmp ecx, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and edx, ebx
mov ebx, dword [esp + 0x74]
cmp edx, ebx
sete dl
and edx, eax
test dl, dl
je 0x476093
shr ebx, 1
mov eax, esi
shl esi, 0x1f
or esi, ebx
shr eax, 1
mov edx, dword [esp + 0x7c]
add edx, 3
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
lea ebx, [ebp - 0x20]
mov dword [esp + 0x48], ebx
mov edi, ebx
neg ebx
cmp ebx, 0x20
sbb edx, edx
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x44], edi
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x3c], edi
mov ecx, ebp
shr eax, cl
test edi, eax
sete al
mov byte [esp + 0xb], al
mov ecx, ebx
mov eax, dword [esp + 0x78]
shl eax, cl
mov ecx, ebp
shr esi, cl
and esi, edi
and eax, edx
or eax, esi
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x78]
shr esi, cl
mov edi, dword [esp + 0x44]
and esi, edi
or esi, eax
test esi, esi
sete al
movzx esi, byte [esp + 0xb]
and esi, eax
xchg esi, eax
test al, al
xchg esi, eax
je 0x47608a
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0xc]
cmp eax, esi
jg 0x475f83
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x70]
mov edi, dword [esi]
mov dword [esp + 0x4c], edi
cmp edi, 0x20
sbb ebp, ebp
mov dword [esp + 0x48], ebp
mov ecx, edi
mov ebx, 1
shl ebx, cl
and ebx, ebp
mov dword [esp + 0x44], ebx
add ebx, 0xffffffff
mov dword [esp + 0x3c], ebx
lea ebp, [ecx - 0x20]
mov dword [esp + 0x38], ebp
cmp ebp, 0x20
sbb edi, edi
mov dword [esp + 0x34], edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x30], eax
mov ecx, ebp
mov ebx, 1
shr ebx, cl
and ebx, eax
mov ecx, dword [esp + 0x38]
mov eax, 1
shl eax, cl
and eax, edi
or eax, ebx
mov dword [esp + 0x2c], eax
mov ebx, dword [esp + 0x44]
add ebx, 0xffffffff
adc eax, 0xffffffff
mov ebx, dword [esi + 4]
mov dword [esp + 0x28], ebx
cmp ebx, 0x20
sbb edi, edi
and eax, edx
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x74]
and edx, eax
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x7c]
sub eax, dword [esi + 8]
mov ecx, ebx
mov esi, 1
shl esi, cl
and esi, edi
dec esi
and esi, eax
mov eax, esi
sar esi, 0x1f
mov ecx, dword [esp + 0x38]
mov edi, eax
shl eax, cl
mov ecx, ebp
mov ebp, edi
shr edi, cl
mov ecx, dword [esp + 0x4c]
shl esi, cl
mov ebx, dword [esp + 0x48]
and esi, ebx
mov edx, dword [esp + 0x30]
and edi, edx
or edi, esi
mov edx, dword [esp + 0x34]
and eax, edx
or eax, edi
mov edx, dword [esp + 0x18]
or edx, eax
shl ebp, cl
and ebp, ebx
mov eax, dword [esp + 0x14]
or eax, ebp
movzx ebx, byte [esp + 0x80]
test bl, bl
je 0x475f7b
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x28]
cmp ecx, 0x20
sbb ebx, ebx
lea ebp, [ecx - 0x20]
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x48], esi
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
cmp ebp, 0x20
sbb eax, eax
mov edx, dword [esp + 0x2c]
shl edx, cl
mov ecx, edi
mov esi, dword [esp + 0x44]
mov edi, esi
shl esi, cl
mov ecx, ebp
mov ebp, edi
shr edi, cl
and edx, ebx
and edi, eax
or edi, edx
mov eax, dword [esp + 0x48]
and esi, eax
or esi, edi
mov eax, dword [esp + 0x24]
or eax, esi
mov ecx, dword [esp + 0x28]
shl ebp, cl
and ebp, ebx
mov edx, dword [esp + 0x20]
or edx, ebp
mov ecx, dword [esp + 0x70]
lea ebx, [0xe11650]
cmp ecx, ebx
jne 0x475f4a
mov dword [esp + 0x1c], edx
movss xmm0, dword [esp + 0x1c]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x84], xmm0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x90], eax
add esp, 0x64
ret
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x84], xmm0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x90], eax
add esp, 0x64
ret
mov ecx, edx
mov edx, eax
mov eax, ecx
jmp 0x475f0b
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ebx
lea eax, [0x9702e0]
mov dword [esp], eax
call fcn.0040af00
mov edi, dword [esp + 4]
mov dword [edi + 4], 0xa
mov ecx, dword [esp + 0x4c]
mov eax, 1
shl eax, cl
mov ecx, dword [esp + 0x34]
mov edx, 1
shr edx, cl
mov ecx, dword [esp + 0x38]
and edx, ecx
mov ecx, dword [esp + 0x48]
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x44]
and ebx, ecx
or ebx, edx
mov ecx, dword [esp + 0x3c]
and eax, ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
lea ecx, [edx + ecx - 1]
mov edx, dword [0xe8ff30]
test edx, edx
jne 0x476076
lea edx, [0x9d10f0]
mov dword [edi], edx
mov edx, dword [esp + 0x6c]
mov dword [edi + 0xc], edx
mov edx, dword [0xe8ff30]
test edx, edx
jne 0x47605e
mov edx, dword [esp + 0x68]
mov dword [edi + 8], edx
mov edx, dword [0xe7b05c]
mov ebp, dword [0xe7b058]
mov dword [edi + 0x10], ebp
mov ebp, dword [0xe8ff30]
test ebp, ebp
jne 0x476044
mov dword [edi + 0x14], edx
mov edx, ebx
lea ebx, [0xaa5870]
mov ebp, edi
mov esi, ecx
mov ecx, eax
mov eax, esi
jmp 0x475da5
mov dword [esp + 0x30], eax
lea ebp, [edi + 0x14]
mov esi, edi
mov edi, ebp
mov eax, edx
call fcn.00456ab0
mov eax, dword [esp + 0x30]
mov edi, esi
jmp 0x47602f
lea edx, [edi + 8]
mov ebp, edi
mov edi, edx
mov esi, eax
mov eax, dword [esp + 0x68]
call fcn.00456ab0
mov eax, esi
mov edi, ebp
jmp 0x476013
mov edx, eax
lea eax, [0x9d10f0]
call fcn.00456ab0
mov eax, edx
jmp 0x475ffb
mov eax, dword [esp + 0x7c]
jmp 0x475d8d
mov eax, esi
mov edx, dword [esp + 0x40]
mov esi, ebx
jmp 0x475d14
mov ebp, dword [esp + 0x4c]
mov eax, esi
mov esi, edx
mov edx, edi
jmp 0x475d14
mov eax, dword [esp + 0x74]
jmp 0x475b89
mov esi, eax
jmp 0x475b72
call fcn.00455270
jmp fcn.00475a70