Function at 0x10093f40
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
mov eax, dword [0x101d5844]
xor eax, esp
mov dword [esp + 0xb0], eax
mov al, byte [ebp + 0x14]
mov byte [esp + 0xf], al
mov byte [esp + 0x20], al
mov al, byte [ebp + 0x18]
mov byte [esp + 0xd], al
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x20]
push ebx
mov dword [esp + 0x30], eax
mov al, byte [ebp + 8]
mov dword [esp + 0x38], ecx
push esi
mov esi, edx
push edi
test al, al
je case.0x10094319.22
mov cx, word [ebp + 0x10]
cmp al, 0xb0
jb 0x10093f9f
test cx, cx
js case.0x10094319.22
mov edx, dword [ebp + 0xc]
and al, 0xf
mov byte [esp + 0x1a], al
movzx eax, al
shl ax, 8
movzx ecx, dl
or ax, cx
movzx ebx, dl
movzx eax, ax
mov dword [esp + 0x20], eax
mov eax, 0xf
cmp dl, al
mov dword [esp + 0x30], ecx
movzx ecx, dl
cmova ebx, eax
mov byte [esi + 5], dl
mov eax, 0xe
cmp dl, al
cmova ecx, eax
movzx eax, dl
mov dword [esp + 0x24], eax
add eax, 0x1f
shr eax, 5
movzx edi, al
cmp eax, 0xe
mov dword [esp + 0x1c], edi
mov eax, edi
mov edi, 0xe
cmova eax, edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
add eax, 0x7f
shr eax, 7
mov dword [esp + 0x3c], eax
movzx eax, byte [ebp + 8]
mov dword [esp + 0x4c], eax
shr eax, 4
add eax, 0xfffffffe
cmp eax, 7
ja case.default.0x1009402b
jmp dword [eax*4 + 0x10094dbc]
mov eax, dword [esp + 0x20]
shr eax, 2
mov byte [esi + 2], 1
mov byte [esi + 4], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov byte [esi + 2], 1
test ax, ax
jne 0x1009407c
xor cl, cl
mov byte [esi + 4], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov ecx, eax
lfence
call fcn.10093e90
movzx eax, ax
mov ecx, 0xff
shr eax, 2
cmp eax, ecx
cmova eax, ecx
xor ecx, ecx
cmp ecx, eax
sbb cl, cl
and cl, al
mov byte [esi + 4], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
shr eax, 4
mov byte [esi + 3], 9
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
inc eax
mov byte [esi + 3], 0x17
shr eax, 5
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x20]
mov byte [esi + 3], 0x17
test ax, ax
jne 0x10094124
xor cl, cl
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov ecx, eax
lfence
call fcn.10093e90
movzx eax, ax
mov ecx, 0xff
shr eax, 5
cmp eax, ecx
cmova eax, ecx
xor ecx, ecx
cmp ecx, eax
sbb cl, cl
and cl, al
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x1a]
mov byte [esi + 3], 0xf
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov dx, word [ebp + 0x10]
mov byte [esi + 3], 0xf
test dx, dx
js 0x10094216
cmp byte [esi + 2], 0
jne case.0x10094319.22
mov eax, dword [esp + 0x4c]
mov ecx, 0x40
and eax, 0xf
mov byte [esi + 2], 2
imul ecx
push 0
add eax, 7
push 0xf
adc edx, 0
push edx
push eax
call fcn.101177e0
test edx, edx
jl 0x100941ee
jg 0x100941c9
cmp eax, 0x7fffffff
jbe 0x100941ee
mov eax, 0x7fffffff
mov dword [esp + 0x34], 0
mov byte [esi + 4], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
cmp edx, 0xffffffff
jl 0x100941fc
jg 0x100941fe
cmp eax, 0x80000000
ja 0x100941fe
xor al, al
mov byte [esi + 4], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov al, byte [esp + 0x1a]
mov byte [esi + 5], al
mov eax, dword [esp + 0x24]
add eax, 3
mov byte [esi + 2], 1
shr eax, 2
mov byte [esi + 4], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
cmp word [ebp + 0x10], 5
mov eax, dword [esp + 0x20]
mov byte [esi + 3], 0xa
movzx ebx, ax
jg 0x100942b3
test ebx, ebx
je 0x10094975
movzx eax, byte [esp + 0x19]
mov ecx, edi
push eax
push dword [esp + 0x30]
call fcn.10031d50
movzx eax, ax
test ax, ax
je 0x100942b3
imul ecx, eax, 0x68
movzx eax, word [ecx + edi + 0x7643e]
test al, 1
je 0x10094287
shr ebx, 1
test al, 2
je 0x100942b3
mov edx, dword [ecx + edi + 0x7641c]
mov eax, ebx
shl eax, 8
cmp eax, edx
jbe 0x100942b3
mov ebx, dword [ecx + edi + 0x76420]
lea eax, [edx - 1]
add ebx, 8
shr eax, 8
shr ebx, 8
cmp ebx, eax
cmova ebx, eax
mov byte [esi + 5], bl
cmp ebx, 0xff
jbe case.0x10094319.22
cmp byte [esi + 2], 0
jne case.0x10094319.22
push ecx
lea ecx, [esp + 0x54]
mov byte [esi + 2], 0xf
call fcn.1001eb40
shr ebx, 8
mov ecx, 9
cmp ebx, ecx
movzx eax, bl
cmova eax, ecx
mov byte [esi + 4], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x4c]
dec eax
cmp eax, 0xc8
ja case.0x10094319.22
movzx eax, byte [eax + 0x10094e9c]
jmp dword [eax*4 + 0x10094ddc]
push edx
mov dl, byte [ebp + 8]
mov ecx, esi
lfence
call fcn.1006a660
mov al, byte [esi + 3]
add esp, 4
cmp al, 0x11
jne 0x1009435d
movzx eax, byte [esi + 5]
mov ecx, dword [esp + 0x28]
imul eax, eax, 0x2710
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
cmp al, 0x10
jne case.0x10094319.22
mov al, byte [esi + 5]
test al, al
je case.0x10094319.22
mov edx, dword [esp + 0x38]
movzx eax, al
mov dword [edx], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
cmp byte [esi + 2], 0
mov byte [esi + 3], 4
jne case.0x10094319.22
mov byte [esi + 2], 8
mov byte [esi + 4], 0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
cmp byte [esi + 2], 0
mov byte [esi + 3], 5
jne case.0x10094319.22
mov byte [esi + 2], 0xb
mov byte [esi + 4], 0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov al, byte [esi]
dec al
cmp al, 0x77
ja case.0x10094319.22
test dl, dl
je case.0x10094319.22
mov al, dl
mov byte [esi + 3], 0x23
shr al, 1
and dl, 0xf
and al, 0x78
shl dl, 3
sub al, dl
sub al, 0x80
mov byte [esi + 5], al
cmp word [edi + 0x753c0], 0
jne case.0x10094319.22
movzx ecx, word [edi + 0x753be]
mov edx, 0xff
cmp dx, cx
mov eax, ecx
mov esi, 1
cmovb eax, edx
mov ecx, esi
movzx eax, ax
mov word [edi + 0x753c0], ax
cmp cx, ax
ja case.0x10094319.22
nop dword [eax + eax]
push esi
push esi
mov ecx, edi
call fcn.10031db0
test eax, eax
je 0x1009448a
movzx ecx, si
add ecx, 0x7384
mov byte [eax + 0x21], 2
shl ecx, 5
movups xmm0, xmmword [ecx + edi]
movups xmmword [eax + 0x1ec], xmm0
movups xmm0, xmmword [ecx + edi + 0x10]
mov word [eax + 0x15], 0x80ff
movups xmmword [eax + 0x1fc], xmm0
inc esi
cmp si, word [edi + 0x753c0]
jbe 0x10094450
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
or bl, 0xd0
mov byte [esi + 3], 0x13
mov byte [esi + 5], bl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 0x19
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
cmp dl, 2
ja case.0x10094319.22
or dl, 0x40
mov byte [esi + 3], 0x13
mov byte [esi + 5], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 0xe
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
cmp dl, 2
ja case.0x10094319.22
or dl, 0x70
mov byte [esi + 3], 0x13
mov byte [esi + 5], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov al, byte [ebp + 8]
shl al, 4
or al, cl
mov byte [esi + 3], 0x13
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 0xf
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
shl cl, 4
mov byte [esi + 3], 0xb
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 0xb
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
shl cl, 4
mov byte [esi + 3], 6
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 6
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
shl cl, 4
mov byte [esi + 3], 7
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 7
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
je case.0x10094319.22
mov eax, dword [esp + 0x1c]
shl al, 4
mov byte [esi + 3], 0x18
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
je case.0x10094319.22
mov eax, dword [esp + 0x1c]
mov byte [esi + 3], 0x18
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
shl cl, 4
or cl, 0xf
mov byte [esi + 3], 0xb
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 0xb
jmp 0x10094d9e
test dl, dl
je case.0x10094319.22
mov eax, dword [esp + 0x1c]
shl al, 4
or al, 0xf
mov byte [esi + 3], 0x18
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
je case.0x10094319.22
mov eax, dword [esp + 0x1c]
or al, 0xf0
mov byte [esi + 3], 0x18
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
je case.0x10094319.22
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
mov byte [esi + 3], 0x10
mov dword [edx], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
cmp word [ebp + 0x10], 5
jg case.0x10094319.22
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
cmp eax, 0x2710
jb case.0x10094319.22
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
mov byte [esi + 3], 0x11
movsd xmm1, qword [0x101c3b30]
addsd xmm0, qword [eax*8 + 0x101c3df0]
mov eax, dword [esp + 0x24]
divsd xmm0, qword [0x101c3b00]
lea eax, [eax*2 - 0x100]
divsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movsd xmm0, qword [0x101c3b48]
addsd xmm1, xmm1
divsd xmm0, xmm1
call fcn.1004d060
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
or bl, 0xe0
mov byte [esi + 3], 0x13
mov byte [esi + 5], bl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
or bl, 0x10
mov byte [esi + 3], 0x1c
mov byte [esi + 5], bl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
or bl, 0x20
mov byte [esi + 3], 0x1c
mov byte [esi + 5], bl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
and cl, 0xfe
mov byte [esi + 3], 0x1d
shl cl, 3
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
shr cl, 1
mov byte [esi + 3], 0x1d
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 0x12
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
or bl, 0xb0
mov byte [esi + 3], 0x13
mov byte [esi + 5], bl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
mov byte [esi + 3], 0x14
setne al
add al, 0x77
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
mov byte [esi + 3], 0x14
setne al
lea eax, [eax*2 + 0x7b]
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
mov byte [esi + 3], 0x14
setne al
add al, 0x79
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
mov byte [esi + 3], 0x14
mov eax, 0x7b
mov ecx, 0x7e
cmovne eax, ecx
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
add eax, 0xf
mov byte [esi + 3], 0xa
shr eax, 4
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 0xa
mov byte [esi + 5], 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
test dl, dl
je case.0x10094319.22
cmp byte [esp + 0x1b], 0
je case.0x10094319.22
mov cl, byte [esp + 0x19]
test cl, cl
je case.0x10094319.22
mov eax, dword [esp + 0x28]
cmp dword [eax], 0x2710
jb case.0x10094319.22
mov edx, dword [esp + 0x38]
cmp dword [edx], 0
jbe case.0x10094319.22
movzx eax, cl
mov ecx, edi
push eax
push dword [esp + 0x30]
mov dword [esp + 0x48], eax
call fcn.10031d50
movzx eax, ax
test ax, ax
je case.0x10094319.22
mov dx, word [ebp + 0x10]
imul ecx, eax, 0x68
mov dword [esp + 0x3c], ecx
movzx eax, word [ecx + edi + 0x7643e]
mov ebx, dword [ecx + edi + 0x7641c]
test al, 2
je 0x10094a29
mov ebx, dword [ecx + edi + 0x76424]
cmp dx, 5
jg 0x10094a1b
sub ebx, dword [ecx + edi + 0x76420]
test al, 4
je 0x10094a29
cmp dx, 5
jle 0x10094a2f
add ebx, ebx
jmp 0x10094a3b
cmp dx, 5
jg 0x10094a3b
cmp ebx, 0x400
jb case.0x10094319.22
test ebx, ebx
je case.0x10094319.22
mov eax, dword [ecx + edi + 0x76434]
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x10094319.22
movzx eax, byte [esp + 0x19]
mov dword [esp + 0x2c], 0
cmp ax, word [edi + 0x753c0]
ja 0x10094aae
mov eax, dword [ecx + edi + 0x76434]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
cmp dword [edi + eax*4 + 0xdbd1c], 0
je 0x10094aae
movzx ecx, byte [esp + 0x1b]
lfence
mov eax, dword [edi + eax*4 + 0xdbd1c]
movzx eax, byte [ecx + eax + 0x6b]
sub eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + edi + 0x76434]
mov dword [esp + 0x1c], eax
cmp dx, 5
jg 0x10094ac4
cmp byte [ebp + 8], 0xbe
jne 0x10094ac4
movsx eax, byte [ecx + edi + 0x76441]
jmp 0x10094ac6
xor eax, eax
xorps xmm2, xmm2
movsd xmm0, qword [0x101c3978]
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [esp + 0x2c]
cvtsi2sd xmm2, eax
divsd xmm1, qword [0x101c3a08]
divsd xmm2, qword [0x101c3ac0]
subsd xmm1, xmm2
call fcn.10155700
mov eax, dword [esp + 0x1c]
xorps xmm1, xmm1
xorps xmm2, xmm2
cvtsi2sd xmm1, eax
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x101c3df0]
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
imul eax, dword [esp + 0x24]
mulsd xmm0, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, ebx
shr ebx, 0x1f
cvtsi2sd xmm2, eax
shr eax, 0x1f
cmp byte [ebp + 8], 0xbe
addsd xmm1, qword [ebx*8 + 0x101c3df0]
addsd xmm2, qword [eax*8 + 0x101c3df0]
mulsd xmm2, qword [0x101c3980]
jne 0x10094b91
mulsd xmm0, qword [0x101c3908]
mov byte [esi + 3], 0x11
mulsd xmm0, xmm2
divsd xmm0, xmm1
call fcn.1004d060
mov ecx, dword [esp + 0x28]
mov byte [esi + 5], al
movzx eax, al
imul eax, eax, 0x2710
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x28]
sub esp, 8
divsd xmm1, xmm0
mov eax, dword [eax]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x101c3df0]
divsd xmm0, qword [0x101c3b00]
divsd xmm2, xmm0
divsd xmm1, xmm2
movsd qword [esp], xmm1
call fcn.10138cc3
fmul qword [0x101c3a08]
add esp, 8
movsd xmm0, qword [0x101c3950]
movsd qword [esp + 0x40], xmm0
fadd qword [0x101c3a58]
fstp qword [esp + 0x30]
movsd xmm1, qword [esp + 0x30]
comisd xmm0, xmm1
ja 0x10094c0a
movsd xmm0, qword [0x101c3a70]
minsd xmm0, xmm1
movsd qword [esp + 0x40], xmm0
sub esp, 8
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fstp qword [esp]
call fcn.10156790
movsd xmm0, qword [esp + 0x48]
add esp, 8
cvttsd2si eax, qword [esp + 0x40]
mov cl, byte [esi]
dec cl
fstp qword [esp + 0x30]
subsd xmm0, qword [esp + 0x30]
mov byte [esi], al
mulsd xmm0, qword [0x101c3a60]
addsd xmm0, qword [0x101c3a88]
cvttsd2si eax, xmm0
mov byte [esi + 5], al
cmp al, 0x80
je 0x10094c5d
mov byte [esi + 3], 0x23
cmp cl, 0x77
jbe case.0x10094319.22
cmp byte [esi + 2], 0
jne 0x10094c89
mov byte [esi + 2], 0xb
mov byte [esi + 4], 9
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 4
mov byte [esi + 5], 0xff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
shr dl, 4
cmp dl, 1
je 0x10094cb7
cmp dl, 2
jne case.0x10094319.22
sub dl, 0x63
mov byte [esi + 3], 0x14
mov byte [esi + 5], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
shl dl, 2
mov byte [esi + 3], 0x15
mov byte [esi + 5], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x30]
shl ecx, 4
mov byte [esi + 3], 0x15
call fcn.10093e90
movzx ecx, ax
mov eax, 0xff
shr ecx, 6
cmp ecx, eax
cmova ecx, eax
xor eax, eax
cmp eax, ecx
sbb al, al
and al, cl
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x3c]
shl al, 4
mov byte [esi + 3], 0x16
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x3c]
mov byte [esi + 3], 0x16
mov byte [esi + 5], al
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
shl cl, 4
or cl, 0xf
mov byte [esi + 3], 0x16
mov byte [esi + 5], cl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret
mov byte [esi + 3], 0x16
or cl, 0xf0
mov byte [esi + 5], cl
mov ecx, dword [esp + 0xbc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10116b04
mov esp, ebp
pop ebp
ret