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

Disassembly:
sub esp, 0x28
mov edx, dword [esp + 0x2c]
mov ecx, 0x650
push ebx
push ebp
push esi
xor ebx, ebx
push edi
mov dword [esp + 0x10], ebx
nop word [eax + eax]
movsx eax, word [edx + 8]
mov edi, dword [eax*4 + 0x5c4ea4]
test edi, edi
je 0x47ed44
mov esi, dword [0xb080b0]
cmp esi, dword [0xb080ac]
jae 0x47ed40
test byte [edi + 0x45], 0x10
jne case.0x47e123.2
movzx eax, byte [edi + 0x4a]
imul ebx, eax, 0xb
add ebx, 0x593c30
cmp dword [edi + 0xc], 0
je 0x47dfec
mov ebp, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx ecx, word [edi + 0x4d]
movzx eax, word [ebp + 0x24]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47df2f
test ecx, ecx
jle 0x47df28
lea ecx, [eax - 0x10000]
jmp 0x47df2f
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebp + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47df60
test ecx, ecx
jle 0x47df59
lea ecx, [eax - 0x10000]
jmp 0x47df60
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb 0x47dfe3
mov eax, dword [esp + 0x20]
add eax, 0x6ed4
cmp eax, 0x40
jl 0x47dfb8
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47dfba
mov ecx, 0xe00
jmp 0x47dfba
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
cvttss2si eax, dword [esp + 0x24]
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x29
mov dword [esi + 8], edi
mov word [esi + 0xc], ax
cvttss2si eax, xmm0
mov word [esi + 0xe], ax
mov edx, dword [esp + 0x3c]
mov ecx, 0x650
cmp dword [esp + 0x10], 0
movsx eax, byte [ebx]
je 0x47e119
add eax, 0xfffffffe
cmp eax, 0xe
ja case.0x47e123.2
movzx eax, byte [eax + 0x47ed7c]
jmp dword [eax*4 + 0x47ed5c]
movzx eax, word [edi + 0x78]
mov esi, dword [eax*4 + 0x5c4ea4]
test esi, esi
je case.0x47e123.2
movzx eax, word [esi + 0x45]
test al, 1
jne case.0x47e123.2
or eax, 1
mov word [esi + 0x45], ax
test al, 8
je 0x47e047
push esi
call fcn.004acf80
add esp, 4
push esi
call dword [0xaf4ef0]
add esp, 4
jmp case.0x47e123.2
movzx eax, word [edi + 0x45]
test al, 1
jne case.0x47e123.2
or eax, 1
mov word [edi + 0x45], ax
test al, 8
je 0x47e076
push edi
call fcn.004acf80
add esp, 4
push edi
call dword [0xaf4ef0]
add esp, 4
cmp word [edi + 0x45], 0
jge case.0x47e123.2
push 1
push edi
call fcn.004817c0
add esp, 8
jmp case.0x47e123.2
movzx eax, word [edi + 0x45]
test al, 1
jne case.0x47e123.2
or eax, 1
push edi
mov word [edi + 0x45], ax
call fcn.00480530
add esp, 4
jmp case.0x47e123.2
or word [edi + 0x45], 1
push edi
call dword [0xaf4ef4]
add esp, 4
jmp case.0x47e123.2
or word [edi + 0x45], 1
push edi
call fcn.00480950
add esp, 4
cmp word [edi + 0x45], 0
jge case.0x47e123.2
push 0
push edi
call fcn.004817c0
add esp, 8
jmp case.0x47e123.2
mov ecx, dword [edx]
mov eax, ecx
push edi
and eax, 0x600000
and ecx, 0x180000
push eax
push ecx
push edx
call fcn.00482060
add esp, 0x10
jmp case.0x47e123.2
dec eax
cmp eax, 0x1a
ja case.0x47e123.2
jmp dword [eax*4 + 0x47ed8c]
cmp word [edi + 0x43], cx
je case.0x47e123.2
mov byte [0xc2768e], 1
push edi
push edx
call fcn.004818f0
add esp, 8
or word [edi + 0x45], 1
mov ax, word [edi + 0x45]
mov word [esp + 0x14], ax
jge 0x47e160
push 0
push edi
call fcn.004817c0
add esp, 8
cmp edi, dword [0x5c6de4]
jne case.0x47e123.2
or dword [0xc275c4], 1
jmp case.0x47e123.2
mov byte [0xc2768e], 0xd
jmp 0x47e13b
mov esi, dword [0xb080b0]
movzx eax, word [edi + 0x78]
mov ebx, dword [0xaf4ef8]
movzx ebp, word [edi + 0x7a]
mov dword [esp + 0x14], eax
lea eax, [esi + 0x14]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e1cc
test ecx, ecx
jle 0x47e1c5
lea ecx, [eax - 0x10000]
jmp 0x47e1cc
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e1fd
test ecx, ecx
jle 0x47e1f6
lea ecx, [eax - 0x10000]
jmp 0x47e1fd
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb 0x47e145
mov eax, dword [esp + 0x20]
add eax, 0x6f80
cmp eax, 0x40
jl 0x47e259
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47e25b
mov ecx, 0xe00
jmp 0x47e25b
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
cvttss2si eax, dword [esp + 0x24]
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x12
mov dword [esi + 8], edi
mov word [esi + 0xe], bp
mov word [esi + 0x10], ax
cvttss2si eax, xmm0
mov word [esi + 0x12], ax
mov eax, dword [esp + 0x14]
mov word [esi + 0xc], ax
jmp 0x47e145
push edi
call fcn.0047d790
add esp, 4
jmp case.0x47e00d.2
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e2e2
test ecx, ecx
jle 0x47e2db
lea ecx, [eax - 0x10000]
jmp 0x47e2e2
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e313
test ecx, ecx
jle 0x47e30c
lea ecx, [eax - 0x10000]
jmp 0x47e313
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6f80
cmp eax, 0x40
jl 0x47e36f
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47e371
mov ecx, 0xe00
jmp 0x47e371
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 9
jmp 0x47ed0a
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e3c9
test ecx, ecx
jle 0x47e3c2
lea ecx, [eax - 0x10000]
jmp 0x47e3c9
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e3fa
test ecx, ecx
jle 0x47e3f3
lea ecx, [eax - 0x10000]
jmp 0x47e3fa
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6f80
cmp eax, 0x40
jl 0x47e456
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47e458
mov ecx, 0xe00
jmp 0x47e458
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0xa
jmp 0x47ed0a
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e4b0
test ecx, ecx
jle 0x47e4a9
lea ecx, [eax - 0x10000]
jmp 0x47e4b0
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e4e1
test ecx, ecx
jle 0x47e4da
lea ecx, [eax - 0x10000]
jmp 0x47e4e1
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
mov eax, dword [esp + 0x24]
add esp, 4
add eax, 0x6c00
cmp eax, 0x40
jl 0x47e52b
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47e52d
mov ecx, 0xe00
jmp 0x47e52d
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
cvttss2si eax, dword [esp + 0x24]
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0xb
mov word [esi + 0xc], ax
cvttss2si eax, dword [esp + 0x28]
jmp 0x47ed18
cmp byte [edi + 0x34], 8
je case.0x47e123.2
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e59f
test ecx, ecx
jle 0x47e598
lea ecx, [eax - 0x10000]
jmp 0x47e59f
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e5d0
test ecx, ecx
jle 0x47e5c9
lea ecx, [eax - 0x10000]
jmp 0x47e5d0
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x7000
cmp eax, 0x40
jl 0x47e62c
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47e62e
mov ecx, 0xe00
jmp 0x47e62e
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0xc
jmp 0x47ed0a
push edi
push edx
call fcn.0047d380
mov esi, dword [edi + 0x4d]
lea ebx, [edi + 0x88]
add esp, 8
mov dword [esp + 0x14], esi
mov ebp, 5
movzx eax, word [ebx - 2]
add ax, si
mov word [edi + 0x4d], ax
movzx eax, word [ebx]
add ax, word [esp + 0x16]
push edi
push dword [esp + 0x40]
mov word [edi + 0x4f], ax
call fcn.0047d380
add esp, 8
lea ebx, [ebx + 4]
sub ebp, 1
jne 0x47e663
mov dword [edi + 0x4d], esi
jmp case.0x47e00d.2
push edi
push edx
call fcn.00481a90
add esp, 8
jmp case.0x47e00d.2
cmp byte [0xc27695], 0
je case.0x47e123.2
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e6f2
test ecx, ecx
jle 0x47e6eb
lea ecx, [eax - 0x10000]
jmp 0x47e6f2
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e723
test ecx, ecx
jle 0x47e71c
lea ecx, [eax - 0x10000]
jmp 0x47e723
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6ed4
cmp eax, 0x40
jl 0x47e77f
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47e781
mov ecx, 0xe00
jmp 0x47e781
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x20
jmp 0x47ed0a
push edi
push edx
call fcn.0047d4a0
add esp, 8
jmp case.0x47e00d.2
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e7e8
test ecx, ecx
jle 0x47e7e1
lea ecx, [eax - 0x10000]
jmp 0x47e7e8
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e819
test ecx, ecx
jle 0x47e812
lea ecx, [eax - 0x10000]
jmp 0x47e819
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6ed4
cmp eax, 0x40
jl 0x47e875
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47e877
mov ecx, 0xe00
jmp 0x47e877
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x28
jmp 0x47ed0a
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e8cf
test ecx, ecx
jle 0x47e8c8
lea ecx, [eax - 0x10000]
jmp 0x47e8cf
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e900
test ecx, ecx
jle 0x47e8f9
lea ecx, [eax - 0x10000]
jmp 0x47e900
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6ed4
cmp eax, 0x40
jl 0x47e95c
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47e95e
mov ecx, 0xe00
jmp 0x47e95e
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x21
jmp 0x47ed0a
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e9b6
test ecx, ecx
jle 0x47e9af
lea ecx, [eax - 0x10000]
jmp 0x47e9b6
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47e9e7
test ecx, ecx
jle 0x47e9e0
lea ecx, [eax - 0x10000]
jmp 0x47e9e7
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6ed4
cmp eax, 0x40
jl 0x47ea43
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47ea45
mov ecx, 0xe00
jmp 0x47ea45
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x22
jmp 0x47ed0a
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47ea9d
test ecx, ecx
jle 0x47ea96
lea ecx, [eax - 0x10000]
jmp 0x47ea9d
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47eace
test ecx, ecx
jle 0x47eac7
lea ecx, [eax - 0x10000]
jmp 0x47eace
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6ed4
cmp eax, 0x40
jl 0x47eb2a
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47eb2c
mov ecx, 0xe00
jmp 0x47eb2c
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x23
jmp 0x47ed0a
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47eb84
test ecx, ecx
jle 0x47eb7d
lea ecx, [eax - 0x10000]
jmp 0x47eb84
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47ebb5
test ecx, ecx
jle 0x47ebae
lea ecx, [eax - 0x10000]
jmp 0x47ebb5
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6ed4
cmp eax, 0x40
jl 0x47ec11
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47ec13
mov ecx, 0xe00
jmp 0x47ec13
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x25
jmp 0x47ed0a
mov esi, dword [0xb080b0]
mov ebx, dword [0xaf4ef8]
lea eax, [esi + 0x10]
mov dword [0xb080b0], eax
movzx eax, word [ebx + 0x24]
movzx ecx, word [edi + 0x4d]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47ec6b
test ecx, ecx
jle 0x47ec64
lea ecx, [eax - 0x10000]
jmp 0x47ec6b
mov ecx, 0x10000
sub ecx, eax
movzx eax, word [ebx + 0x26]
sar ecx, 1
mov dword [esp + 0x18], ecx
movzx ecx, word [edi + 0x4f]
sub ecx, eax
mov eax, ecx
cdq
xor eax, edx
sub eax, edx
test eax, 0x8000
je 0x47ec9c
test ecx, ecx
jle 0x47ec95
lea ecx, [eax - 0x10000]
jmp 0x47ec9c
mov ecx, 0x10000
sub ecx, eax
movsx eax, word [edi + 0x51]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x18]
sar ecx, 1
push eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x34], 0
call fcn.0048a840
movss xmm0, dword [esp + 0x2c]
xorps xmm1, xmm1
add esp, 4
comiss xmm0, xmm1
jb case.0x47e00d.2
mov eax, dword [esp + 0x20]
add eax, 0x6ed4
cmp eax, 0x40
jl 0x47ecf4
cdq
and edx, 0xf
lea ecx, [edx + eax]
sar ecx, 4
cmp ecx, 0xe00
jle 0x47ecf6
mov ecx, 0xe00
jmp 0x47ecf6
xor ecx, ecx
mov eax, dword [ecx*4 + 0xb080b4]
mov dword [esi + 4], eax
mov dword [ecx*4 + 0xb080b4], esi
mov byte [esi], 0x24
cvttss2si eax, dword [esp + 0x24]
mov word [esi + 0xc], ax
cvttss2si eax, xmm0
mov dword [esi + 8], edi
mov word [esi + 0xe], ax
or word [edi + 0x45], 1
movzx eax, word [edi + 0x25]
mov ecx, 0x650
mov edx, dword [esp + 0x3c]
mov edi, dword [eax*4 + 0x5c4ea4]
test edi, edi
jne 0x47dec3
mov ebx, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x10], ebx
cmp ebx, 2
jl 0x47deb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret