Function at 0x1024752f
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1d0
mov dword [esp + 0x2c], edx
mov eax, dword [0x1038100c]
xor eax, ebp
mov dword [esp + 0x1c8], eax
mov al, byte [ecx + 0xa8]
mov byte [esp + 0x43], al
lea esi, [ecx + 0xac]
mov dword [esp + 0x28], ecx
mov eax, dword [ecx + 0xac]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov ebx, eax
mov eax, dword [eax]
mov esi, dword [ebx + 4]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], eax
sub esi, eax
mov dword [esp + 0x24], esi
sar esi, 2
xor edi, edi
lea ecx, [esp + 0x1bc]
mov dword [ecx], edi
mov dword [ecx + 4], edi
mov dword [ecx + 8], edi
mov edx, esi
call fcn.10248550
test al, al
mov dword [esp + 0x30], ebx
je 0x10245ee6
mov eax, dword [esp + 0x1bc]
lea ebx, [eax + esi*4]
push dword [esp + 0x24]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x1c0], ebx
mov ebx, dword [esp + 0x30]
lea ecx, [esp + 0x1b0]
mov dword [ecx], edi
mov dword [ecx + 4], edi
mov dword [ecx + 8], edi
push esi
call fcn.10003290
test al, al
je 0x10245f1f
mov eax, dword [esp + 0x1b0]
lea esi, [eax + esi*4]
push dword [esp + 0x24]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x1b4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
cmp dword [esp + 0x24], 0
je 0x1024607d
xor eax, eax
dec eax
mov ecx, dword [esp + 0x24]
test ecx, ecx
cmovns eax, ecx
xor edx, edx
inc edx
test eax, eax
cmovg eax, edx
mov edi, dword [esp + 0x44]
sub edi, dword [esp + 0x48]
cmp edi, ecx
cmovle edi, ecx
shr edi, 2
imul edi, eax
test edi, edi
mov eax, edx
cmovne eax, edi
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov esi, dword [eax]
mov eax, dword [esi]
mov ebx, dword [eax + 0x10]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, esi
call ebx
mov ebx, eax
mov eax, dword [eax]
mov esi, dword [eax + 0x78]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov eax, dword [eax]
mov dword [esp + 0xc], eax
movups xmm0, xmmword [ebx + 4]
movups xmmword [esp + 0x1a0], xmm0
mov eax, dword [ebx]
mov esi, dword [eax + 0x70]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov ecx, dword [esp + 0x1bc]
mov dword [ecx], eax
mov eax, dword [ebx]
mov esi, dword [eax + 0x78]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov ecx, eax
call fcn.10240ab0
mov ecx, dword [esp + 0x1b0]
mov dword [ecx], eax
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
cmp edi, 2
jb 0x10246079
xor ebx, ebx
inc ebx
mov esi, dword [esp + 0x10]
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov edi, dword [eax + ebx*4]
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
call esi
mov edi, eax
mov eax, dword [eax]
mov esi, dword [eax + 0x70]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
call esi
mov ecx, dword [esp + 0x1bc]
mov dword [ecx + ebx*4], eax
mov eax, dword [edi]
mov esi, dword [eax + 0x78]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
call esi
mov ecx, eax
call fcn.10240ab0
mov ecx, dword [esp + 0x1b0]
mov dword [ecx + ebx*4], eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax + ebx*4]
cmp eax, esi
cmova esi, eax
inc ebx
cmp dword [esp + 8], ebx
jne 0x10245ffe
mov dword [esp + 0x10], esi
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx]
mov esi, dword [eax]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov esi, eax
mov eax, dword [eax]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
cmp byte [eax + 0x70], 2
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x44]
jb 0x102461c5
cmp byte [eax + 0x71], 1
jbe 0x102461c5
xor ebx, ebx
mov cl, byte [esp + 0x43]
mov eax, ecx
cmp cl, 0x4c
jle 0x10246239
add al, 0xb3
cmp al, 0x27
ja case.default.0x102460df
movzx eax, al
jmp dword [eax*4 + 0x10301124]
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x1024611b
xor esi, esi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x64]
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x60]
movss xmm1, dword [esp + 0x60]
movss dword [esp + 0x30], xmm1
movss xmm0, dword [esp + 0x10]
divss xmm0, xmm1
cvtss2sd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_floor
add esp, 8
fstp dword [esp + 0x5c]
movss xmm1, dword [esp + 0x30]
mulss xmm1, dword [esp + 0x5c]
movss xmm0, dword [esp + 0x10]
subss xmm0, xmm1
movss dword [ebx + esi], xmm0
mov dword [ebx + esi + 4], 1
add esi, 8
dec edi
jne 0x10246130
jmp case.0x102460df.178
cmp dword [esp + 0x24], 0
je 0x102460c1
mov eax, dword [esp + 0x28]
cmp byte [eax + 0xa8], 0x74
je 0x102460c1
xor eax, eax
dec eax
mov edx, dword [esp + 0x24]
test edx, edx
cmovns eax, edx
xor ecx, ecx
inc ecx
test eax, eax
cmovle ecx, eax
sub ebx, dword [esp + 0x48]
cmp ebx, edx
cmovle ebx, edx
shr ebx, 2
imul ebx, ecx
xor esi, esi
mov eax, dword [esp + 0x1b0]
cmp dword [eax + esi*4], edi
jne 0x1024621c
inc esi
cmp esi, ebx
jb 0x10246206
jmp 0x102460c1
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + esi*4]
mov edx, edi
call fcn.102436c0
mov ecx, dword [esp + 0x1bc]
mov dword [ecx + esi*4], eax
jmp 0x10246212
add al, 0xe8
cmp al, 5
ja case.default.0x10246246
movzx eax, al
jmp dword [eax*4 + 0x1030110c]
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10246282
xor esi, esi
mov ecx, dword [esp + 0xc]
dec ecx
mov edi, dword [esp + 0x10]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
cmp ecx, 4
ja case.0x102462ad.1
jmp dword [ecx*4 + 0x103011ec]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0xa4]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
mov ecx, dword [esp + 0xc]
fstp dword [esp + 0xa0]
movss xmm0, dword [esp + 0xa0]
cmpeqss xmm0, dword [esp + 0xa4]
movd eax, xmm0
and eax, 1
jmp 0x1024635e
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
jmp 0x1024634f
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, ebx
mov ebx, dword [esp + 8]
sete al
mov byte [ebx + esi], al
mov dword [ebx + esi + 4], 5
add esi, 8
dec edi
jne 0x102462a4
jmp case.0x102460df.178
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102422a0
mov ebx, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102422a0
mov ecx, dword [esp + 0xc]
xor al, bl
mov ebx, dword [esp + 8]
xor al, 1
jmp 0x1024635e
cmp cl, 0x37
je 0x102481f6
cmp cl, 0x3e
jne case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.10240b80
add ebx, 8
add esi, 0xfffffff8
jne 0x102463f2
xor esi, esi
lea ebx, [esp + 0x1a0]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x58]
movss xmm0, dword [esp + 0x58]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
movss xmm2, dword [esp + 0x10]
fstp dword [esp + 0x54]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
ja 0x102464a2
movss xmm0, dword [esp + 0x54]
ucomiss xmm2, xmm1
jne 0x10246463
jp 0x10246463
ucomiss xmm1, xmm0
jae 0x102464a2
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
add esp, 0x10
mov eax, dword [esp + 8]
fstp dword [eax + esi]
mov dword [eax + esi + 4], 1
add esi, 8
dec edi
jne 0x1024640e
jmp 0x102482f7
mov eax, dword [esp + 8]
add eax, esi
mov ecx, ebx
mov edx, 0x3e
push eax
push dword [esp + 0x30]
push dword [esp + 0x14]
call fcn.10245af0
add esp, 0xc
jmp 0x10246493
cmp cl, 0x7b
je 0x1024832b
cmp cl, 0x7c
jne case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.10240b80
add ebx, 8
add esi, 0xfffffff8
jne 0x1024650b
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
call fcn.102305e0
mov esi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 0xc]
call fcn.102305e0
test eax, eax
mov dword [esp + 0x10], edi
je 0x102465f7
lea ecx, [eax + esi]
cmp ecx, 0x20
jg 0x10246672
cmp eax, 0x20
jg 0x10246672
mov edx, esi
cmp esi, 0x1f
jg 0x10246672
mov ecx, eax
or ecx, edx
js 0x10246672
dec al
xor esi, esi
inc esi
mov ecx, eax
shl esi, cl
dec esi
bts esi, eax
mov ecx, edx
shl esi, cl
mov eax, esi
not eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx]
mov edi, dword [eax + 0x78]
mov ecx, edi
mov dword [esp + 0xc], edx
call dword [section..00cfg]
mov ecx, ebx
mov ebx, dword [esp + 0x30]
call edi
mov ecx, dword [esp + 0x1bc]
mov ecx, dword [ecx]
add ecx, ebx
cmp dword [eax], 3
jne 0x10246623
call fcn.102305e0
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, ebx
call fcn.102305e0
and edi, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
shl eax, cl
and eax, esi
or eax, edi
mov ecx, dword [esp + 8]
mov dword [ecx + ebx], eax
mov dword [ecx + ebx + 4], 3
jmp 0x10246658
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov ecx, dword [esp + 0x1bc]
mov ecx, dword [ecx]
add ecx, ebx
cmp dword [eax], 3
jne 0x1024666b
call fcn.102305e0
jmp 0x102465e6
call fcn.102305e0
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, ebx
call fcn.102305e0
and edi, dword [esp + 0x24]
mov ecx, dword [esp + 0xc]
shl eax, cl
and eax, esi
or eax, edi
mov ecx, dword [esp + 8]
mov dword [ecx + ebx], eax
mov dword [ecx + ebx + 4], 4
mov edi, dword [esp + 0x10]
add ebx, 8
dec edi
jne 0x10246520
jmp 0x102482f7
call fcn.102305e0
jmp 0x10246649
mov eax, dword [esp + 8]
add eax, ebx
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x1a0]
mov edx, 0x7c
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [eax]
call fcn.10245af0
add esp, 0xc
jmp 0x1024665c
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x102466ea
xor esi, esi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
cmp eax, 4
je 0x10246765
cmp eax, 3
je 0x1024679f
cmp eax, 1
jne 0x102467df
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x6c]
movss xmm0, dword [esp + 0x6c]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x68]
movss xmm0, dword [esp + 0x10]
minss xmm0, dword [esp + 0x68]
movss dword [ebx + esi], xmm0
xor eax, eax
inc eax
jmp 0x102467d7
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
cmp edi, eax
cmovb eax, edi
mov edi, dword [esp + 0x10]
mov dword [ebx + esi], eax
mov eax, 4
jmp 0x102467d7
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
cmp edi, eax
cmovl eax, edi
mov edi, dword [esp + 0x10]
mov dword [ebx + esi], eax
mov eax, 3
mov dword [ebx + esi + 4], eax
mov eax, dword [esp + 0xc]
add esi, 8
dec edi
jne 0x10246703
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10246823
xor esi, esi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
cmp eax, 4
je 0x1024689e
cmp eax, 3
je 0x102468d8
cmp eax, 1
jne 0x10246918
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x74]
movss xmm0, dword [esp + 0x74]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x70]
movss xmm0, dword [esp + 0x10]
maxss xmm0, dword [esp + 0x70]
movss dword [ebx + esi], xmm0
xor eax, eax
inc eax
jmp 0x10246910
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
cmp eax, edi
cmovb eax, edi
mov edi, dword [esp + 0x10]
mov dword [ebx + esi], eax
mov eax, 4
jmp 0x10246910
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
cmp eax, edi
cmovl eax, edi
mov edi, dword [esp + 0x10]
mov dword [ebx + esi], eax
mov eax, 3
mov dword [ebx + esi + 4], eax
mov eax, dword [esp + 0xc]
add esi, 8
dec edi
jne 0x1024683c
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x1024695c
xor edi, edi
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xc]
cmp eax, 4
je 0x10246a38
cmp eax, 3
je 0x10246aa7
cmp eax, 1
jne 0x10246b6a
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, edi
call fcn.10243740
fstp dword [esp + 0xf4]
movss xmm0, dword [esp + 0xf4]
movss dword [esp + 0x28], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.10243740
fstp dword [esp + 0xf0]
movss xmm0, dword [esp + 0xf0]
movaps xmmword [esp + 0x30], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
add ecx, edi
call fcn.10243740
movaps xmm3, xmmword [esp + 0x30]
fstp dword [esp + 0xec]
movss xmm0, dword [esp + 0xec]
ucomiss xmm3, xmm0
jbe 0x10246b0f
push 0x51
call fcn.10240590
add esp, 4
mov ecx, dword [esp + 0x2c]
push eax
push str.operation_result_is_undefined_for_the_values_passed_in
lea eax, [esp + 0x1a8]
push eax
call fcn.1023b650
mov dword [ebx + edi], 0
jmp 0x10246b2f
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, edi
call fcn.102305e0
mov esi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.102305e0
mov ebx, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
add ecx, edi
call fcn.102305e0
cmp ebx, eax
jbe 0x10246b34
push 0x51
call fcn.10240590
add esp, 4
mov ecx, dword [esp + 0x2c]
push eax
push str.operation_result_is_undefined_for_the_values_passed_in
lea eax, [esp + 0x1a8]
push eax
call fcn.1023b650
mov ebx, dword [esp + 8]
mov dword [ebx + edi], 0
jmp 0x10246b45
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, edi
call fcn.102305e0
mov esi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.102305e0
mov ebx, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
add ecx, edi
call fcn.102305e0
cmp ebx, eax
jle 0x10246b4c
push 0x51
call fcn.10240590
add esp, 4
mov ecx, dword [esp + 0x2c]
push eax
push str.operation_result_is_undefined_for_the_values_passed_in
lea eax, [esp + 0x1a8]
push eax
call fcn.1023b650
mov ebx, dword [esp + 8]
mov dword [ebx + edi], 0
jmp 0x10246b5d
movss xmm2, dword [esp + 0x28]
minss xmm0, xmm2
movaps xmm1, xmm3
cmpltss xmm1, xmm2
andps xmm0, xmm1
andnps xmm1, xmm3
orps xmm1, xmm0
movss dword [ebx + edi], xmm1
xor eax, eax
inc eax
jmp 0x10246b62
cmp esi, eax
cmovbe eax, esi
cmp esi, ebx
cmovbe eax, ebx
mov ebx, dword [esp + 8]
mov dword [ebx + edi], eax
mov eax, 4
jmp 0x10246b62
cmp esi, eax
cmovle eax, esi
cmp esi, ebx
cmovle eax, ebx
mov ebx, dword [esp + 8]
mov dword [ebx + edi], eax
mov eax, 3
mov dword [ebx + edi + 4], eax
mov eax, dword [esp + 0xc]
add edi, 8
dec dword [esp + 0x10]
jne 0x10246975
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10246bb1
xor edi, edi
mov ecx, dword [esp + 0xc]
dec ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x28], edi
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov edi, dword [eax + 8]
mov eax, dword [edi]
mov ebx, dword [eax + 0xc]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
mov edi, eax
mov eax, dword [eax]
mov ebx, dword [eax + 0x78]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
cmp dword [eax], 1
mov eax, dword [esp + 0x1bc]
jne 0x10246ca6
mov ecx, dword [eax]
mov edi, dword [esp + 0x28]
add ecx, edi
call fcn.10243740
fstp dword [esp + 0x100]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.10243740
fstp dword [esp + 0xfc]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
add ecx, edi
call fcn.10243740
fstp dword [esp + 0xf8]
movss xmm0, dword [esp + 0xf8]
movss xmm1, dword [0x102b4320]
subss xmm1, xmm0
mulss xmm1, dword [esp + 0x100]
mulss xmm0, dword [esp + 0xfc]
addss xmm0, xmm1
mov ebx, dword [esp + 8]
movss dword [ebx + edi], xmm0
xor eax, eax
inc eax
mov esi, dword [esp + 0x10]
mov dword [ebx + edi + 4], eax
add edi, 8
dec esi
mov dword [esp + 0x10], esi
jne 0x10246bcf
jmp case.0x102460df.178
mov ecx, dword [eax + 8]
mov edi, dword [esp + 0x28]
add ecx, edi
call fcn.102422a0
mov ecx, dword [esp + 0xc]
cmp ecx, 4
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
ja case.0x10246cc5.1
jmp dword [ecx*4 + 0x103011c4]
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, edi
call fcn.10243740
fstp dword [esp + 0x108]
movss xmm0, dword [esp + 0x108]
movss dword [esp + 0x2c], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.10243740
fstp dword [esp + 0x104]
cmp byte [esp + 0x24], 0
jne 0x10246df6
movss xmm0, dword [esp + 0x2c]
jmp 0x10246dff
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, edi
call fcn.102305e0
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x28]
call fcn.102305e0
cmp byte [esp + 0x24], 0
cmove eax, edi
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
mov dword [ebx + edi], eax
mov eax, 3
jmp 0x10246c8f
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, edi
call fcn.102305e0
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, dword [esp + 0x28]
call fcn.102305e0
cmp byte [esp + 0x24], 0
cmove eax, edi
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x10]
mov dword [ebx + edi], eax
mov eax, 4
jmp 0x10246c8f
mov byte [esp + 0x24], al
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, edi
call fcn.102422a0
mov ebx, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.102422a0
movzx ecx, bl
mov ebx, dword [esp + 8]
movzx eax, al
cmp byte [esp + 0x24], 0
cmove eax, ecx
mov byte [ebx + edi], al
mov eax, 5
jmp 0x10246c8f
movss xmm0, dword [esp + 0x104]
movss dword [ebx + edi], xmm0
xor eax, eax
inc eax
jmp 0x10246c8f
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10246e41
xor esi, esi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x7c]
movss xmm0, dword [esp + 0x7c]
movaps xmmword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x78]
movaps xmm1, xmmword [esp + 0x10]
cmpltss xmm1, dword [esp + 0x78]
movss xmm0, dword [0x102b4320]
andnps xmm1, xmm0
movss dword [ebx + esi], xmm1
mov dword [ebx + esi + 4], 1
add esi, 8
dec edi
jne 0x10246e56
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.10240b80
add ebx, 8
add esi, 0xfffffff8
jne 0x10246ef0
xor esi, esi
lea ebx, [esp + 0x1a0]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x114]
movss xmm0, dword [esp + 0x114]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x110]
movss xmm0, dword [esp + 0x110]
movss dword [esp + 0x30], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
add ecx, esi
call fcn.10243740
movss xmm2, dword [esp + 0x30]
movss xmm1, dword [esp + 0x10]
fstp dword [esp + 0x10c]
ucomiss xmm1, xmm2
jae 0x10246fe9
movss xmm0, dword [esp + 0x10c]
subss xmm0, xmm1
subss xmm2, xmm1
divss xmm0, xmm2
movss xmm1, dword [0x102b4320]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm2, xmm0
andps xmm2, xmm1
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm2, xmm2
movss xmm1, dword [0x102f84dc]
subss xmm1, xmm2
mulss xmm1, xmm0
mov eax, dword [esp + 8]
movss dword [eax + esi], xmm1
mov dword [eax + esi + 4], 1
add esi, 8
dec edi
jne 0x10246f0c
jmp 0x102482f7
mov eax, dword [esp + 8]
add eax, esi
mov ecx, ebx
mov edx, 0x54
push eax
push dword [esp + 0x30]
push dword [esp + 0x14]
call fcn.10245af0
add esp, 0xc
jmp 0x10246fda
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x1024703e
xor esi, esi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x120]
movss xmm0, dword [esp + 0x120]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x11c]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x118]
movss xmm0, dword [esp + 0x10]
mulss xmm0, dword [esp + 0x11c]
addss xmm0, dword [esp + 0x118]
movss dword [ebx + esi], xmm0
mov dword [ebx + esi + 4], 1
add esi, 8
dec edi
jne 0x10247053
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.10240b80
add ebx, 8
add esi, 0xfffffff8
jne 0x10247114
xor esi, esi
lea ebx, [esp + 0x1a0]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x124]
movss xmm0, dword [esp + 0x124]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
cmp eax, 0x81
jge 0x102471d0
xorps xmm0, xmm0
cmp eax, 0xffffff82
jl 0x102471b0
movss xmm0, dword [esp + 0x10]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x10], xmm0
push eax
push 0x3ff00000
push 0
call sub.api_ms_win_crt_math_l1_1_0.dll_ldexp
add esp, 0xc
fstp qword [esp + 0x150]
movsd xmm0, qword [esp + 0x10]
mulsd xmm0, qword [esp + 0x150]
cvtsd2ss xmm0, xmm0
mov eax, dword [esp + 8]
movss dword [eax + esi], xmm0
mov dword [eax + esi + 4], 1
add esi, 8
dec edi
jne 0x10247130
jmp 0x102482f7
mov eax, dword [esp + 8]
add eax, esi
mov ecx, ebx
mov edx, 0x5d
push eax
push dword [esp + 0x30]
push dword [esp + 0x14]
call fcn.10245af0
add esp, 0xc
jmp 0x102471c1
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov esi, edi
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
call fcn.10226570
mov ebx, eax
test esi, esi
je 0x10247232
mov eax, dword [esp + 0x10]
lea esi, [eax*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10247223
call fcn.1022c020
mov ecx, eax
push 8
call fcn.10226570
mov dword [esp + 8], eax
mov ecx, eax
call fcn.10240b80
xorps xmm1, xmm1
xorps xmm0, xmm0
mov edi, dword [esp + 0x10]
test edi, edi
je 0x1024730a
xor esi, esi
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0xb8]
movss xmm0, dword [esp + 0xb8]
movss dword [esp + 0x30], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0xb4]
movss xmm0, dword [esp + 0x30]
subss xmm0, dword [esp + 0xb4]
movss dword [ebx + esi], xmm0
mov dword [ebx + esi + 4], 1
add esi, 8
dec edi
jne 0x1024725f
xorps xmm0, xmm0
mov esi, dword [esp + 0x10]
movss dword [esp + 0x10], xmm0
mov ecx, ebx
call fcn.10243740
fstp dword [esp + 0xb0]
movss xmm0, dword [esp + 0xb0]
mulss xmm0, xmm0
movss xmm1, dword [esp + 0x10]
addss xmm1, xmm0
movss dword [esp + 0x10], xmm1
movss xmm0, dword [esp + 0x10]
add ebx, 8
dec esi
jne 0x102472c6
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x10248515
sqrtsd xmm0, xmm0
jmp 0x10248535
call fcn.1022c020
mov ecx, eax
push 8
call fcn.10226570
mov dword [esp + 8], eax
mov ecx, eax
call fcn.10240b80
xorps xmm0, xmm0
test edi, edi
je 0x102473a1
mov esi, edi
mov eax, dword [esp + 0x1bc]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
xorps xmm0, xmm0
movss dword [esp + 0x10], xmm0
mov ecx, ebx
call fcn.10243740
fstp dword [esp + 0xc0]
movss xmm0, dword [esp + 0xc0]
movss dword [esp + 0x30], xmm0
mov ecx, edi
call fcn.10243740
movss xmm0, dword [esp + 0x10]
fstp dword [esp + 0xbc]
movss xmm1, dword [esp + 0x30]
mulss xmm1, dword [esp + 0xbc]
addss xmm0, xmm1
add edi, 8
add ebx, 8
dec esi
jne 0x1024734e
mov ebx, dword [esp + 8]
jmp 0x1024853d
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov esi, edi
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
call fcn.10226570
mov ebx, eax
test esi, esi
je 0x102473e4
shl esi, 3
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x102473d5
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
call fcn.10243740
fstp dword [esp + 0xd8]
movss xmm0, dword [esp + 0xd8]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, 8
call fcn.10243740
fstp dword [esp + 0xd4]
movss xmm0, dword [esp + 0xd4]
movss dword [esp + 0x30], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, 0x10
call fcn.10243740
fstp dword [esp + 0xd0]
movss xmm0, dword [esp + 0xd0]
movss dword [esp + 8], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
call fcn.10243740
fstp dword [esp + 0xcc]
movss xmm0, dword [esp + 0xcc]
movss dword [esp + 0xc], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, 8
call fcn.10243740
fstp dword [esp + 0xc8]
movss xmm0, dword [esp + 0xc8]
movss dword [esp + 0x28], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, 0x10
call fcn.10243740
fstp dword [esp + 0xc4]
movss xmm0, dword [esp + 0xc4]
movss xmm3, dword [esp + 0x30]
movaps xmm1, xmm3
mulss xmm1, xmm0
movss xmm4, dword [esp + 8]
movaps xmm2, xmm4
movss xmm5, dword [esp + 0x28]
mulss xmm2, xmm5
subss xmm1, xmm2
movss dword [ebx], xmm1
xor eax, eax
inc eax
mov dword [ebx + 4], eax
movss xmm2, dword [esp + 0xc]
mulss xmm4, xmm2
movss xmm1, dword [esp + 0x10]
mulss xmm0, xmm1
subss xmm4, xmm0
movss dword [ebx + 8], xmm4
mov dword [ebx + 0xc], eax
mulss xmm1, xmm5
movaps xmm0, xmm3
mulss xmm0, xmm2
subss xmm1, xmm0
movss dword [ebx + 0x10], xmm1
mov dword [ebx + 0x14], eax
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.10240b80
add ebx, 8
add esi, 0xfffffff8
jne 0x10247566
mov eax, dword [esp + 0x1bc]
mov ebx, dword [eax + 4]
mov edi, dword [eax + 8]
xorps xmm0, xmm0
movaps xmmword [esp + 0x30], xmm0
mov esi, dword [esp + 0x10]
mov ecx, edi
call fcn.10243740
fstp dword [esp + 0x130]
movss xmm0, dword [esp + 0x130]
movss dword [esp + 0xc], xmm0
mov ecx, ebx
call fcn.10243740
fstp dword [esp + 0x12c]
movss xmm1, dword [esp + 0xc]
mulss xmm1, dword [esp + 0x12c]
movaps xmm0, xmmword [esp + 0x30]
addss xmm0, xmm1
movaps xmmword [esp + 0x30], xmm0
add ebx, 8
add edi, 8
dec esi
jne 0x1024758e
xor esi, esi
xorps xmm0, xmm0
movaps xmm1, xmmword [esp + 0x30]
cmpltss xmm1, xmm0
movaps xmmword [esp + 0x30], xmm1
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x128]
movss xmm0, dword [esp + 0x128]
movaps xmm2, xmmword [esp + 0x30]
movaps xmm1, xmm2
andps xmm1, xmm0
xorps xmm0, xmmword [0x102b4b00]
andnps xmm2, xmm0
orps xmm2, xmm1
movss dword [ebx + esi], xmm2
mov dword [ebx + esi + 4], 1
add esi, 8
dec edi
jne 0x102475fb
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.10240b80
add ebx, 8
add esi, 0xfffffff8
jne 0x10247682
mov eax, dword [esp + 0x1bc]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
xorps xmm0, xmm0
movss dword [esp + 0x30], xmm0
mov esi, dword [esp + 0x10]
mov ecx, edi
call fcn.10243740
fstp dword [esp + 0xe8]
movss xmm0, dword [esp + 0xe8]
movss dword [esp + 0xc], xmm0
mov ecx, ebx
call fcn.10243740
fstp dword [esp + 0xe4]
movss xmm1, dword [esp + 0xc]
mulss xmm1, dword [esp + 0xe4]
movss xmm0, dword [esp + 0x30]
addss xmm0, xmm1
movss dword [esp + 0x30], xmm0
add ebx, 8
add edi, 8
dec esi
jne 0x102476aa
movss xmm0, dword [esp + 0x30]
addss xmm0, xmm0
movss dword [esp + 0x30], xmm0
xor esi, esi
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0xe0]
movss xmm0, dword [esp + 0xe0]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0xdc]
movss xmm0, dword [esp + 0xdc]
mulss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x10]
subss xmm1, xmm0
movss dword [ebx + esi], xmm1
mov dword [ebx + esi + 4], 1
add esi, 8
dec edi
jne 0x10247717
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.10240b80
add ebx, 8
add esi, 0xfffffff8
jne 0x102477bd
mov eax, dword [esp + 0x1bc]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
xorps xmm0, xmm0
mov esi, dword [esp + 0x10]
movss dword [esp + 0x30], xmm0
mov ecx, edi
call fcn.10243740
fstp dword [esp + 0x144]
movss xmm0, dword [esp + 0x144]
movss dword [esp + 0xc], xmm0
mov ecx, ebx
call fcn.10243740
movss xmm0, dword [esp + 0x30]
fstp dword [esp + 0x140]
movss xmm1, dword [esp + 0xc]
mulss xmm1, dword [esp + 0x140]
addss xmm0, xmm1
add ebx, 8
add edi, 8
dec esi
jne 0x102477df
movss dword [esp + 0x30], xmm0
mulss xmm0, xmm0
movss xmm1, dword [0x102b4320]
subss xmm1, xmm0
movss dword [esp + 0x28], xmm1
xor esi, esi
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x13c]
movss xmm2, dword [esp + 0x13c]
movaps xmm0, xmm2
mulss xmm0, xmm2
mulss xmm0, dword [esp + 0x28]
movss xmm1, dword [0x102b4320]
subss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x10247965
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
movss dword [esp + 0x10], xmm2
movss dword [esp + 0x24], xmm1
call fcn.10243740
fstp dword [esp + 0x138]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x10]
mulss xmm0, xmm1
movss dword [esp + 0xc], xmm0
mulss xmm1, dword [esp + 0x138]
movss dword [esp + 0x10], xmm1
movss xmm0, dword [esp + 0x24]
cvtss2sd xmm0, xmm0
ucomisd xmm0, qword [0x102c5160]
jb 0x10247900
sqrtsd xmm0, xmm0
jmp 0x10247920
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esp + 0x158]
movsd xmm0, qword [esp + 0x158]
cvtsd2ss xmm0, xmm0
movss xmm1, dword [esp + 0xc]
addss xmm1, xmm0
movss dword [esp + 0xc], xmm1
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x134]
movss xmm1, dword [esp + 0xc]
mulss xmm1, dword [esp + 0x134]
movss xmm0, dword [esp + 0x10]
subss xmm0, xmm1
movss dword [ebx + esi], xmm0
mov dword [ebx + esi + 4], 1
add esi, 8
dec edi
jne 0x10247858
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov esi, edi
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
call fcn.10226570
mov ebx, eax
test esi, esi
je 0x102479bb
shl esi, 3
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x102479ac
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx]
mov esi, dword [eax]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov esi, eax
mov eax, dword [eax]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
movzx eax, byte [eax + 0x71]
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
mov esi, dword [eax]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov esi, eax
mov eax, dword [eax]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
movzx esi, byte [eax + 0x70]
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax]
lea ecx, [esp + 0x18c]
push esi
mov ebx, dword [esp + 0x14]
push ebx
call fcn.10245780
add esp, 8
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax + 4]
lea edi, [esp + 0x178]
mov ecx, edi
push esi
push ebx
call fcn.10245780
add esp, 8
lea ebx, [esp + 0x164]
lea esi, [esp + 0x18c]
mov ecx, esi
mov edx, ebx
push edi
call fcn.102485a0
add esp, 4
mov ecx, ebx
mov edx, dword [esp + 8]
call fcn.10245880
mov ecx, ebx
mov ebx, dword [esp + 8]
call fcn.10003510
mov ecx, edi
call fcn.10003510
jmp 0x10247bb6
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx]
mov esi, dword [eax]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov esi, eax
mov eax, dword [eax]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov ecx, eax
call fcn.10240ab0
mov dword [esp + 0x10], eax
mov eax, dword [ebx]
mov esi, dword [eax + 4]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov esi, eax
mov eax, dword [eax]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov ecx, eax
call fcn.10240ab0
mov ebx, eax
mov dword [esp + 0x30], eax
imul ebx, dword [esp + 0x10]
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, ebx
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
call fcn.10226570
mov dword [esp + 8], eax
test ebx, ebx
je 0x10247b45
shl ebx, 3
mov edi, dword [esp + 8]
mov ecx, edi
call fcn.10240b80
add edi, 8
add ebx, 0xfffffff8
jne 0x10247b36
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax]
xor esi, esi
inc esi
lea edi, [esp + 0x178]
mov ecx, edi
push esi
push dword [esp + 0x14]
call fcn.10245780
add esp, 8
mov eax, dword [esp + 0x1bc]
mov edx, dword [eax + 4]
lea ebx, [esp + 0x164]
mov ecx, ebx
push dword [esp + 0x30]
push esi
call fcn.10245780
add esp, 8
lea esi, [esp + 0x18c]
mov ecx, edi
mov edx, esi
push ebx
call fcn.102486d0
add esp, 4
mov ecx, ebx
call fcn.10003510
mov ecx, edi
call fcn.10003510
mov ecx, esi
mov ebx, dword [esp + 8]
mov edx, ebx
call fcn.10245880
mov ecx, esi
call fcn.10003510
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10247bf7
xor esi, esi
mov ecx, dword [esp + 0xc]
dec ecx
mov edi, dword [esp + 0x10]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
cmp ecx, 4
ja case.0x10247c22.1
jmp dword [ecx*4 + 0x103011d8]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0xac]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
mov ecx, dword [esp + 0xc]
fstp dword [esp + 0xa8]
movss xmm0, dword [esp + 0xa8]
cmpneqss xmm0, dword [esp + 0xac]
movd eax, xmm0
and eax, 1
jmp 0x10247cd3
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
jmp 0x10247cc4
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, ebx
mov ebx, dword [esp + 8]
setne al
mov byte [ebx + esi], al
mov dword [ebx + esi + 4], 5
add esi, 8
dec edi
jne 0x10247c19
jmp case.0x102460df.178
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102422a0
mov ebx, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102422a0
mov ecx, dword [esp + 0xc]
xor al, bl
mov ebx, dword [esp + 8]
jmp 0x10247cd3
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10247d51
xor esi, esi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp ecx, 4
je 0x10247dca
cmp ecx, 3
je 0x10247e00
cmp ecx, 1
jne 0x10247e3f
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x84]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
mov ecx, dword [esp + 0xc]
fstp dword [esp + 0x80]
movss xmm0, dword [esp + 0x80]
ucomiss xmm0, dword [esp + 0x84]
seta al
jmp 0x10247e34
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x10]
setb al
jmp 0x10247e34
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x10]
setl al
mov byte [ebx + esi], al
mov dword [ebx + esi + 4], 5
add esi, 8
dec edi
jne 0x10247d6a
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10247e83
xor esi, esi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp ecx, 4
je 0x10247efc
cmp ecx, 3
je 0x10247f32
cmp ecx, 1
jne 0x10247f71
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x8c]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
mov ecx, dword [esp + 0xc]
fstp dword [esp + 0x88]
movss xmm0, dword [esp + 0x88]
ucomiss xmm0, dword [esp + 0x8c]
setae al
jmp 0x10247f66
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x10]
setbe al
jmp 0x10247f66
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x10]
setle al
mov byte [ebx + esi], al
mov dword [ebx + esi + 4], 5
add esi, 8
dec edi
jne 0x10247e9c
jmp case.0x102460df.178
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x10247fb5
xor esi, esi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp ecx, 4
je 0x10248037
cmp ecx, 3
je 0x10248085
cmp ecx, 1
jne 0x10248076
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x94]
movss xmm0, dword [esp + 0x94]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
mov ecx, dword [esp + 0xc]
fstp dword [esp + 0x90]
movss xmm0, dword [esp + 0x10]
ucomiss xmm0, dword [esp + 0x90]
jmp 0x10248068
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x10]
seta al
mov byte [ebx + esi], al
mov dword [ebx + esi + 4], 5
add esi, 8
dec edi
jne 0x10247fce
jmp case.0x102460df.178
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x10]
setg al
jmp 0x1024806b
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x102480f0
xor esi, esi
mov edi, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
cmp ecx, 4
je 0x10248172
cmp ecx, 3
je 0x102481c0
cmp ecx, 1
jne 0x102481b1
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x9c]
movss xmm0, dword [esp + 0x9c]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
mov ecx, dword [esp + 0xc]
fstp dword [esp + 0x98]
movss xmm0, dword [esp + 0x10]
ucomiss xmm0, dword [esp + 0x98]
jmp 0x102481a3
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x10]
setae al
mov byte [ebx + esi], al
mov dword [ebx + esi + 4], 5
add esi, 8
dec edi
jne 0x10248109
jmp case.0x102460df.178
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.102305e0
mov dword [esp + 0x10], edi
mov edi, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.102305e0
mov ecx, dword [esp + 0xc]
cmp edi, eax
mov edi, dword [esp + 0x10]
setge al
jmp 0x102481a6
xor ecx, ecx
dec ecx
mov edx, 8
mov eax, edi
mul edx
mov edi, eax
cmovo edi, ecx
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov dword [esp + 8], ebx
mov ecx, ebx
call fcn.10240b80
add ebx, 8
add esi, 0xfffffff8
jne 0x1024822d
xor esi, esi
lea ebx, [esp + 0x1a0]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax]
add ecx, esi
call fcn.10243740
fstp dword [esp + 0x50]
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
add ecx, esi
call fcn.10243740
movss xmm2, dword [esp + 0x10]
fstp dword [esp + 0x4c]
movss xmm0, dword [esp + 0x4c]
xorps xmm1, xmm1
ucomiss xmm2, xmm1
jne 0x1024829b
jp 0x1024829b
ucomiss xmm0, xmm1
jne 0x1024829b
jnp 0x102482d7
cvtss2sd xmm0, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm2
sub esp, 0x10
movsd qword [esp + 8], xmm0
movsd qword [esp], xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2
add esp, 0x10
mov eax, dword [esp + 8]
fstp dword [eax + esi]
mov dword [eax + esi + 4], 1
add esi, 8
dec edi
jne 0x10248249
jmp 0x102482f7
mov eax, dword [esp + 8]
add eax, esi
mov ecx, ebx
mov edx, 0x37
push eax
push dword [esp + 0x30]
push dword [esp + 0x14]
call fcn.10245af0
add esp, 0xc
jmp 0x102482cb
mov ebx, dword [esp + 8]
lea ecx, [esp + 0x1b0]
call fcn.10004830
lea ecx, [esp + 0x1bc]
call fcn.1022ab00
mov ecx, dword [esp + 0x1c8]
xor ecx, ebp
call fcn.1021e470
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
dec esi
mov ecx, 8
mov eax, edi
mul ecx
mov edi, eax
cmovo edi, esi
call fcn.1022c020
mov ecx, eax
push edi
mov esi, dword [esp + 0x14]
call fcn.10226570
mov ebx, eax
test esi, esi
je case.0x102460df.178
lea esi, [esi*8]
mov edi, ebx
mov ecx, edi
call fcn.10240b80
add edi, 8
add esi, 0xfffffff8
jne 0x1024835c
xor ecx, ecx
mov edi, dword [esp + 0x10]
mov dword [esp + 8], ebx
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 4]
call fcn.102305e0
mov ebx, eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + 8]
call fcn.102305e0
test eax, eax
je 0x10248456
lea ecx, [eax + ebx]
cmp ecx, 0x20
mov dword [esp + 0x10], edi
jg 0x102484ca
cmp eax, 0x20
jg 0x102484ca
cmp ebx, 0x1f
jg 0x102484ca
mov ecx, eax
or ecx, ebx
js 0x102484ca
mov dword [esp + 0x44], eax
mov ecx, eax
dec cl
xor eax, eax
inc eax
shl eax, cl
mov dword [esp + 0x24], eax
lea esi, [eax - 1]
bts esi, ecx
mov ecx, ebx
shl esi, cl
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
call edi
mov ecx, dword [esp + 0x1bc]
mov ecx, dword [ecx]
mov ebx, dword [esp + 0x30]
add ecx, ebx
cmp dword [eax], 3
jne 0x1024848b
call fcn.102305e0
and eax, esi
mov ecx, dword [esp + 0xc]
shr eax, cl
test dword [esp + 0x24], eax
mov edi, dword [esp + 0x10]
je 0x10248441
mov ebx, dword [esp + 0x44]
mov ecx, ebx
neg cl
xor edx, edx
dec edx
shl edx, cl
not edx
mov ecx, ebx
shl edx, cl
or eax, edx
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov dword [ebx + ecx], eax
mov dword [ebx + ecx + 4], 3
jmp 0x102484bb
mov esi, edi
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
call edi
cmp dword [eax], 3
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x30]
mov dword [ebx + ecx], 0
jne 0x102484b1
mov dword [ebx + ecx + 4], 3
jmp 0x102484b9
call fcn.102305e0
and eax, esi
mov ecx, dword [esp + 0xc]
shr eax, cl
mov edx, dword [esp + 8]
mov dword [edx + ebx], eax
mov dword [edx + ebx + 4], 4
mov edi, dword [esp + 0x10]
mov ecx, ebx
mov ebx, edx
jmp 0x102484bb
mov dword [ebx + ecx + 4], 4
mov edi, esi
add ecx, 8
dec edi
jne 0x10248375
jmp case.0x102460df.178
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x30]
add eax, ebx
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x28]
mov eax, dword [esi]
mov edi, dword [eax + 0x78]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov edi, dword [esp + 0x10]
lea ecx, [esp + 0x1a0]
mov edx, 0x7b
push dword [esp + 0xc]
push dword [esp + 0x30]
push dword [eax]
call fcn.10245af0
mov ecx, dword [esp + 0x3c]
add esp, 0xc
jmp 0x102484bb
sub esp, 8
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
add esp, 8
fstp qword [esp + 0x148]
movsd xmm0, qword [esp + 0x148]
mov ebx, dword [esp + 8]
cvtsd2ss xmm0, xmm0
movss dword [ebx], xmm0
mov dword [ebx + 4], 1
jmp case.0x102460df.178