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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x470685
sub esp, 0x6c
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 4]
cmp ecx, 0x20
sbb edx, edx
mov ebx, 1
shl ebx, cl
and edx, ebx
mov dword [esp + 0x54], edx
mov ebx, dword [eax + 8]
mov dword [esp + 0x50], ebx
lea ebp, [edx + ebx - 2]
mov dword [esp + 0xc], ebp
mov esi, dword [eax]
mov dword [esp + 0x4c], esi
mov edi, dword [esp + 0x84]
add edi, esi
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x60]
jmp 0x470109
shl eax, 1
mov ecx, dword [esp + 0x44]
mov edx, ecx
shr ecx, 0x1f
or ecx, eax
shl edx, 1
mov eax, dword [esp + 0x40]
lea edi, [eax - 1]
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
mov ecx, edx
mov edx, dword [esp + 0x54]
mov edx, dword [esp + 0x48]
test edx, edx
setne al
test ecx, ecx
xchg ebp, ebx
setne bl
xchg ebp, ebx
or eax, ebp
test al, al
je 0x470194
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edi
lea eax, [esi + 2]
cmp eax, 0x20
sbb ebp, ebp
lea ebx, [esi - 0x1e]
mov dword [esp + 0x3c], ebx
neg ebx
cmp ebx, 0x20
sbb esi, esi
mov edi, dword [esp + 0x3c]
cmp edi, 0x20
sbb edi, edi
mov ecx, ebx
mov ebx, edx
shl edx, cl
and edx, esi
mov ecx, eax
mov esi, dword [esp + 0x44]
shr esi, cl
and esi, ebp
or esi, edx
mov ecx, dword [esp + 0x3c]
mov edx, ebx
shr ebx, cl
and ebx, edi
or ebx, esi
test ebx, ebx
sete bl
mov ecx, eax
mov eax, edx
shr edx, cl
test ebp, edx
sete dl
and edx, ebx
test dl, dl
jne 0x4700d9
mov ecx, dword [esp + 0x44]
mov edx, eax
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x40]
movzx eax, byte [esp + 0x89]
test al, al
je 0x4701cc
or ecx, 1
jmp 0x4701cc
mov ecx, esi
shr ecx, 1
mov edx, dword [esp + 0x44]
mov eax, edx
shl edx, 0x1f
or ecx, edx
shr eax, 1
and esi, 1
or ecx, esi
mov ebp, dword [esp + 0x40]
lea edi, [ebp + 1]
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x50]
mov edx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], edi
lea eax, [esi + 3]
cmp eax, 0x20
sbb ebp, ebp
lea ebx, [esi - 0x1d]
mov dword [esp + 0x3c], ebx
cmp ebx, 0x20
sbb esi, esi
neg ebx
cmp ebx, 0x20
sbb edi, edi
mov ecx, eax
shr edx, cl
test ebp, edx
setne dl
mov byte [esp + 0xb], dl
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
shr edx, cl
and edx, esi
mov ecx, eax
mov eax, dword [esp + 0x48]
mov esi, eax
shr eax, cl
mov ecx, ebx
mov ebx, dword [esp + 0x44]
shl ebx, cl
and ebx, edi
and eax, ebp
or eax, ebx
or eax, edx
test eax, eax
setne al
movzx edx, byte [esp + 0xb]
or eax, edx
test al, al
jne 0x4701a5
mov eax, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
jmp 0x47025b
mov ebx, esi
shr esi, 1
mov edx, ecx
shl ecx, 0x1f
or esi, ecx
shr edx, 1
and ebx, 1
or esi, ebx
inc edi
cmp esi, 1
seta bl
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov ecx, edx
seta dl
and ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x470280
lea edx, [eax - 1]
cmp edi, edx
jl 0x470248
mov edx, esi
and esi, 3
shr edx, 2
mov ebx, ecx
shl ecx, 0x1e
or ecx, edx
mov edx, ecx
and ecx, 1
or esi, ecx
cmp esi, 3
xchg ebp, ebx
sete bl
xchg ebp, ebx
shr ebx, 2
lea esi, [edi + 2]
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x47033d
mov dword [esp + 0x38], esi
mov dword [esp + 0x40], edi
add edx, 1
mov dword [esp + 0x48], edx
adc ebx, 0
mov ebp, dword [esp + 0x4c]
lea ecx, [ebp - 0x1f]
mov dword [esp + 0x44], ecx
cmp ecx, 0x20
sbb eax, eax
neg ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0x20
sbb esi, esi
mov ecx, dword [esp + 0x44]
mov edi, 1
shl edi, cl
mov ecx, dword [esp + 0x3c]
mov edx, 1
shr edx, cl
and edx, esi
and edi, eax
or edi, edx
cmp edi, ebx
sete al
lea ecx, [ebp + 1]
cmp ecx, 0x20
sbb edx, edx
mov esi, 1
shl esi, cl
and edx, esi
mov esi, dword [esp + 0x48]
cmp esi, edx
sete dl
and edx, eax
test dl, dl
je 0x470335
shr esi, 1
mov edx, ebx
shl edx, 0x1f
or edx, esi
shr ebx, 1
mov eax, dword [esp + 0x40]
lea esi, [eax + 3]
jmp 0x470341
mov edx, esi
mov esi, dword [esp + 0x38]
jmp 0x470341
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], esi
cmp ebp, 0x20
sbb eax, eax
mov dword [esp + 0x3c], eax
lea edi, [ebp - 0x20]
mov dword [esp + 0x34], edi
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb esi, esi
mov dword [esp + 0x30], esi
cmp ecx, 0x20
sbb esi, esi
mov ecx, ebp
shr ebx, cl
test eax, ebx
sete bl
mov byte [esp + 0xb], bl
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x44]
shr ebx, cl
mov dword [esp + 0x2c], ebx
mov ecx, edi
mov ebx, dword [esp + 0x44]
shl ebx, cl
mov ecx, ebp
shr edx, cl
and edx, eax
mov eax, dword [esp + 0x30]
and ebx, eax
or ebx, edx
mov edx, dword [esp + 0x2c]
and edx, esi
or edx, ebx
test edx, edx
sete dl
movzx ebx, byte [esp + 0xb]
and edx, ebx
test dl, dl
je 0x4703c2
mov edx, dword [esp + 0x50]
jmp 0x4703c6
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0xc]
cmp edx, ebx
jg 0x4703e1
mov ebx, dword [esp + 0x48]
mov ecx, edx
xor ebp, ebp
xor eax, eax
mov edx, dword [esp + 0x44]
jmp 0x4704a7
mov dword [esp + 0x48], edi
mov dword [esp + 0x44], esi
lea eax, [0x6af960]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xa
lea ecx, [0x6cfc9c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x34]
mov edx, 1
shl edx, cl
mov ecx, dword [esp + 0x48]
mov ebx, 1
shr ebx, cl
mov ecx, dword [esp + 0x30]
and ebx, ecx
mov ecx, dword [esp + 0x44]
and edx, ecx
or edx, ebx
mov ecx, dword [esp + 0x4c]
mov ebx, 1
shl ebx, cl
mov ecx, dword [esp + 0x3c]
and ebx, ecx
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
lea ecx, [ebp + ecx - 1]
mov ebp, dword [0x90e260]
test ebp, ebp
jne 0x470465
mov ebp, dword [esp + 0x70]
mov dword [eax + 8], ebp
jmp 0x470475
lea edi, [eax + 8]
mov ebp, eax
mov eax, dword [esp + 0x70]
call fcn.004630d0
mov eax, ebp
mov ebp, dword [0x8e6c6c]
mov esi, dword [0x8e6c68]
mov dword [eax + 0x10], esi
mov esi, dword [0x90e260]
test esi, esi
jne 0x470493
mov dword [eax + 0x14], ebp
jmp 0x4704a1
lea edi, [eax + 0x14]
mov esi, eax
mov eax, ebp
call fcn.004630d0
mov eax, esi
lea ebp, [0x7513c0]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x78]
mov edi, dword [esi]
mov dword [esp + 0x4c], edi
cmp edi, 0x20
sbb eax, eax
mov dword [esp + 0x3c], eax
mov ecx, edi
mov ebp, 1
shl ebp, cl
and ebp, eax
mov dword [esp + 0x34], ebp
add ebp, 0xffffffff
mov dword [esp + 0x30], ebp
lea eax, [ecx - 0x20]
mov dword [esp + 0x2c], eax
cmp eax, 0x20
sbb edi, edi
mov dword [esp + 0x28], edi
neg eax
cmp eax, 0x20
sbb ebx, ebx
mov dword [esp + 0x24], ebx
mov ecx, dword [esp + 0x2c]
mov ebp, 1
shl ebp, cl
mov ecx, eax
mov edx, 1
shr edx, cl
and edx, ebx
and ebp, edi
or ebp, edx
mov dword [esp + 0x20], ebp
mov edx, dword [esp + 0x34]
add edx, 0xffffffff
adc ebp, 0xffffffff
mov edx, dword [esi + 4]
mov dword [esp + 0x1c], edx
cmp edx, 0x20
sbb edi, edi
mov ebx, dword [esp + 0x44]
and ebp, ebx
mov dword [esp + 0x14], ebp
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x48]
and ebx, ebp
mov ebp, dword [esp + 0x54]
sub ebp, dword [esi + 8]
mov ecx, edx
mov esi, 1
shl esi, cl
and esi, edi
dec esi
and esi, ebp
mov ebp, esi
sar esi, 0x1f
mov ecx, dword [esp + 0x2c]
mov edi, ebp
shl ebp, cl
mov ecx, dword [esp + 0x4c]
shl esi, cl
mov edx, dword [esp + 0x3c]
and esi, edx
mov ecx, eax
mov eax, edi
shr edi, cl
mov ecx, ebx
mov ebx, dword [esp + 0x24]
and edi, ebx
or edi, esi
mov ebx, dword [esp + 0x28]
and ebp, ebx
or ebp, edi
mov ebx, dword [esp + 0x14]
or ebx, ebp
mov ebp, ecx
mov ecx, dword [esp + 0x4c]
shl eax, cl
and eax, edx
or ebp, eax
movzx eax, byte [esp + 0x88]
test al, al
je 0x470615
mov eax, dword [esp + 0x1c]
cmp eax, 0x20
sbb edx, edx
lea ecx, [eax - 0x20]
mov esi, ecx
neg ecx
mov dword [esp + 0x48], ecx
cmp ecx, 0x20
sbb edi, edi
mov dword [esp + 0x44], edi
cmp esi, 0x20
sbb edi, edi
mov dword [esp + 0x3c], edi
mov ecx, esi
mov edi, dword [esp + 0x34]
mov esi, edi
shl edi, cl
mov dword [esp + 0x30], edi
mov ecx, eax
mov edi, dword [esp + 0x20]
shl edi, cl
mov ecx, dword [esp + 0x48]
shr esi, cl
and edi, edx
mov ecx, edx
mov edx, dword [esp + 0x44]
and esi, edx
or esi, edi
mov edx, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
and edx, edi
or edx, esi
or ebx, edx
mov edx, ecx
mov ecx, eax
mov esi, dword [esp + 0x34]
shl esi, cl
and esi, edx
or ebp, esi
mov eax, dword [esp + 0x78]
lea ecx, [0x8a7560]
cmp eax, ecx
jne 0x470654
mov dword [esp + 0x18], ebp
movss xmm0, dword [esp + 0x18]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x8c], xmm0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x98], eax
add esp, 0x6c
ret
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebx
movsd xmm0, qword [esp + 0x58]
movsd qword [esp + 0x8c], xmm0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x98], eax
add esp, 0x6c
ret
call fcn.00461cc0
jmp fcn.00470070