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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x100
mov edi, dword [0x1042dd60]
mov eax, dword [edi + 0x19b4]
mov byte [eax + 0x7c], 1
mov ebp, dword [edi + 0x19b4]
cmp byte [ebp + 0x7f], 0
je 0x10280c53
xor eax, eax
add esp, 0x100
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x128]
test ax, ax
setns cl
mov dword [esp + 0x10], ecx
and eax, 0x100000
mov dword [esp + 0x18], eax
je 0x10280c74
call fcn.102516c0
mov ecx, ebp
push 0
mov esi, dword [esp + 0x118]
push esi
call fcn.1023bd40
mov ebx, eax
lea eax, [esp + 0xe8]
push 0xbf800000
push 1
push 0
push esi
push eax
call fcn.1023a370
add esp, 0x14
mov dword [esp + 0x38], ebp
movss xmm0, dword [ebp + 0x14]
addss xmm0, dword [0x10362540]
maxss xmm0, dword [0x10362544]
movss dword [esp], xmm0
cmp dword [esp + 0x18], 0
je 0x10280ce5
call fcn.10250640
fstp dword [esp + 0xe4]
movss xmm0, dword [esp + 0xe4]
mulss xmm0, dword [0x10357534]
jmp 0x10280cf6
movss xmm0, dword [esp + 0xec]
mulss xmm0, dword [0x10357ab8]
mov eax, dword [esp + 0x124]
movss xmm1, dword [eax]
movss xmm2, dword [eax + 4]
sub esp, 0x14
movss dword [esp + 0x10], xmm0
movss dword [esp + 8], xmm2
movss dword [esp + 4], xmm1
lea eax, [esp + 0xc0]
mov dword [esp], eax
mov dword [esp + 0xc], 0x43700000
call fcn.1024f470
add esp, 0x14
mov esi, dword [esp + 0x38]
movss xmm0, dword [esi + 0xc8]
movss xmm1, dword [esi + 0xcc]
movss xmm2, dword [esp + 0xb0]
addss xmm2, xmm1
movss xmm4, dword [esp]
addss xmm4, xmm0
movss xmm3, dword [0x10358ba8]
addss xmm3, xmm0
movss dword [esp + 0x9c], xmm3
movss dword [esp + 0xa0], xmm1
movss dword [esp + 0xa4], xmm4
movss dword [esp + 0xa8], xmm2
xorps xmm3, xmm3
maxss xmm3, dword [esp + 0xe8]
addss xmm3, xmm4
movss dword [esp + 0xf0], xmm0
movss dword [esp + 0xf4], xmm1
movss dword [esp + 0xf8], xmm3
movss dword [esp + 0xfc], xmm2
cmp dword [esp + 0x18], 0
mov ebp, ebx
je 0x10280e7a
lea eax, [esp + 0x9c]
lea esi, [esp + 0xf0]
push eax
push ebp
push esi
call fcn.1023ca80
add esp, 0xc
test al, al
je 0x10280f3e
movss xmm0, dword [esp + 0xa4]
movss xmm1, dword [esp + 0xa8]
subss xmm1, dword [esp + 0xa0]
subss xmm0, dword [esp + 0x9c]
movss dword [esp + 0x64], xmm0
movss dword [esp + 0x68], xmm1
lea eax, [esp + 0x64]
push 0
push eax
push ebp
push dword [esp + 0x120]
call fcn.102482e0
add esp, 0x10
test al, al
je 0x10280f5c
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x19b4]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x19b4]
mov eax, dword [esi + 0x134]
or dword [esi + 0x13c], eax
movss xmm0, dword [esp + 0xac]
subss xmm0, dword [esi + 0x70]
movss dword [esp + 0xac], xmm0
jmp 0x10280eb7
movss xmm0, dword [edi + 0x1554]
sub esp, 8
movss dword [esp + 4], xmm0
lea ebx, [esp + 0xf8]
mov dword [esp], ebx
call fcn.1023ca30
add esp, 8
lea eax, [esp + 0x9c]
push eax
push ebp
push ebx
call fcn.1023ca80
add esp, 0xc
test al, al
je 0x10280c46
lea eax, [esp + 0x9c]
push ebp
push eax
call fcn.1023d060
add esp, 8
mov byte [esp + 0x54], al
test al, al
je 0x10280eda
mov dword [edi + 0x1d34], 1
lea eax, [edi + 0x1dfc]
mov ecx, dword [edi + 0x1dfc]
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], ecx
cmp ecx, ebp
mov ebx, 0
mov dword [esp + 0x20], eax
cmove ebx, eax
push ebp
push dword [esp + 0x3c]
call fcn.1023d210
add esp, 8
mov edx, eax
test al, al
je 0x10280f27
mov ecx, dword [esp + 0x38]
cmp dword [edi + 0x1be0], ecx
je 0x10280f6b
mov dword [esp + 0x50], 0
cmp byte [esp + 0x54], 0
je 0x10280f85
cmp byte [edi + 0x3d8], 0
setne al
mov dword [esp + 0x30], eax
jmp 0x10280f8d
movss xmm0, dword [edi + 0x1554]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], esi
call fcn.1023ca30
add esp, 8
jmp 0x10280f61
call fcn.10248a50
call fcn.10251880
jmp 0x10280c46
mov eax, dword [edi + 0x1be8]
cmp eax, dword [ecx + 0x164]
sete al
mov dword [esp + 0x50], eax
cmp byte [esp + 0x54], 0
jne 0x10280f2e
mov dword [esp + 0x30], 0
mov eax, edi
mov edi, dword [edi + 0x19f0]
cmp edi, ebp
mov dword [esp + 0xc], eax
jne 0x10280fa7
mov dword [esp + 0x24], 0
jmp 0x10280fcf
mov cl, 1
mov dword [esp + 0x24], ecx
cmp dword [eax + 0x1ae8], ebp
je 0x10280fcf
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x1adc], ebp
jne 0x10280f9d
cmp dword [eax + 0x1afc], 3
sete al
mov dword [esp + 0x24], eax
mov dword [esp], ebx
mov dword [esp + 0x58], esi
xor ebx, ebx
cmp dword [esp + 0x18], 0
mov dword [esp + 0x28], ebp
je 0x10280ffd
cmp dword [esp + 0x48], ebp
jne 0x10280ffd
mov dword [esp + 8], edx
test edi, edi
je 0x10281003
xor ebx, ebx
mov ebp, dword [esp + 0xc]
mov esi, dword [esp + 0x58]
jmp 0x1028102a
xor ecx, ecx
mov eax, ebp
jmp 0x1028104b
mov ebp, dword [esp + 0xc]
mov edi, dword [ebp + 0x1a1c]
mov esi, dword [esp + 0x58]
mov ecx, esi
push 0
push str.SCROLLY
call fcn.1023c200
cmp edi, eax
sete bl
mov edi, dword [ebp + 0x19f0]
mov ecx, esi
push 0
push str.SCROLLY
call fcn.1023c200
cmp edi, eax
sete cl
mov edi, dword [ebp + 0x19f0]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 8]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x11c]
cmp edi, eax
jne 0x10281077
or dl, byte [esp + 0x30]
or dl, bl
or dl, byte [esp + 0x24]
or dl, cl
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0xc]
jmp 0x102810f5
cmp dword [esp + 0x18], 0
sete ah
mov al, dl
or al, byte [esp + 0x30]
or al, bl
mov ebx, dword [esp + 0x128]
mov dword [esp + 0x44], ecx
mov ecx, ebx
shr cl, 4
mov ebx, dword [esp + 0x24]
or cl, bl
and cl, ah
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x44]
or al, bl
mov byte [esp + 0x34], al
or al, cl
cmp al, 1
mov edi, dword [esp + 0xc]
jne 0x102810f3
mov byte [esp], ah
mov dword [esp + 8], edx
mov dword [edi + 0x2c5c], 0xbe99999a
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
lea esi, [eax + 1]
mov ecx, dword [edi + 0x1e24]
cmp ecx, eax
jg 0x1028117d
test ecx, ecx
je 0x10281125
mov ebx, ecx
shr ebx, 0x1f
add ebx, ecx
sar ebx, 1
add ebx, ecx
jmp 0x1028112a
xor edx, edx
mov eax, dword [edi + 0x19f0]
mov ebp, dword [esp + 0x28]
cmp eax, ebp
jne 0x10281434
cmp dword [esp + 0x48], ebp
je 0x10281434
mov dword [esp + 0x44], ecx
mov ebx, edx
call fcn.1023c720
mov edx, ebx
xor ecx, ecx
jmp 0x10281427
mov ebx, 8
cmp ebx, esi
cmovle ebx, esi
cmp ecx, ebx
jge 0x1028117d
push ebx
call fcn.102373d0
add esp, 4
mov ebp, edi
mov edi, eax
mov eax, dword [ebp + 0x1e28]
test eax, eax
je 0x10281168
push dword [ebp + 0x1e20]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [ebp + 0x1e28]
call fcn.102374a0
add esp, 4
mov dword [ebp + 0x1e28], edi
mov dword [ebp + 0x1e24], ebx
mov edi, ebp
mov ebp, dword [esp + 0x120]
mov dword [edi + 0x1e20], esi
push esi
push dword [esp + 0x120]
push dword [edi + 0x1e28]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x64], 0
lea esi, [ebp + 1]
mov eax, dword [edi + 0x1e0c]
cmp eax, ebp
jg 0x1028121d
test eax, eax
je 0x102811bf
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x102811c4
mov ebx, 8
cmp ebx, esi
cmovle ebx, esi
cmp eax, ebx
jge 0x1028121d
lea eax, [ebx + ebx]
push eax
call fcn.102373d0
add esp, 4
mov ebp, edi
mov edi, eax
mov eax, dword [ebp + 0x1e10]
test eax, eax
je 0x10281208
mov ecx, dword [ebp + 0x1e08]
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [ebp + 0x1e10]
call fcn.102374a0
add esp, 4
mov dword [ebp + 0x1e10], edi
mov dword [ebp + 0x1e0c], ebx
mov edi, ebp
mov ebp, dword [esp + 0x120]
mov dword [edi + 0x1e08], esi
cmp dword [edi + 0x1e18], 0
jns 0x10281274
push 0
call fcn.102373d0
add esp, 4
mov esi, edi
mov edi, eax
mov eax, dword [esi + 0x1e1c]
test eax, eax
je 0x10281262
push dword [esi + 0x1e14]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [esi + 0x1e1c]
call fcn.102374a0
add esp, 4
mov dword [esi + 0x1e1c], edi
mov dword [esi + 0x1e18], 0
mov edi, esi
mov dword [edi + 0x1e14], 0
mov byte [edi + 0x1e2c], 0
lea eax, [esp + 0x64]
push eax
push 0
mov esi, dword [esp + 0x124]
push esi
push ebp
push dword [edi + 0x1e10]
call fcn.10237b90
add esp, 0x14
mov dword [edi + 0x1e00], eax
mov ecx, dword [esp + 0x64]
sub ecx, esi
mov dword [edi + 0x1e04], ecx
mov ebp, dword [esp + 0x28]
cmp dword [edi + 0x1dfc], ebp
jne 0x102812f6
mov ecx, dword [edi + 0x1e38]
mov edx, dword [edi + 0x1e3c]
cmp ecx, eax
cmovge ecx, eax
mov dword [edi + 0x1e38], ecx
cmp edx, eax
cmovge edx, eax
mov dword [edi + 0x1e3c], edx
mov ecx, dword [edi + 0x1e40]
cmp ecx, eax
cmovl eax, ecx
mov dword [edi + 0x1e40], eax
jmp 0x10281363
cmp byte [esp + 0x50], 0
movzx eax, byte [esp + 0x14]
mov ecx, 1
cmove ecx, eax
cmp dword [esp + 0x18], 0
mov dword [edi + 0x1dfc], ebp
mov dword [edi + 0x1e34], 0
mov dword [edi + 0x2c4e], 0x630000
mov dword [edi + 0x2c54], 0
mov dword [edi + 0x2c58], 0x3e7
movaps xmm0, xmmword [0x10362670]
movups xmmword [edi + 0x1e38], xmm0
mov dword [edi + 0x1e4c], 0
mov dl, byte [esp]
mov byte [edi + 0x1e48], dl
cmovne ecx, eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x20]
test dword [esp + 0x128], 0x2000
je 0x1028137f
mov byte [edi + 0x1e44], 1
cmp dword [esp + 0x18], 0
jne 0x102813a7
mov edx, dword [esp + 0x50]
xor dl, 1
and al, dl
jne 0x102813a1
cmp byte [esp + 0x30], 0
je 0x102813a7
cmp byte [edi + 0xfc], 0
je 0x102813a7
mov al, 1
mov dword [esp + 0x14], eax
mov dl, 1
cmp dword [edi + 0x19f0], ebp
je 0x10281427
xor byte [esp + 0x34], 1
jne 0x10281427
mov esi, dword [esp + 0x38]
push esi
push ebp
call fcn.1023c5f0
add esp, 8
push esi
push ebp
call fcn.1023c6a0
add esp, 8
push esi
call fcn.1023e070
add esp, 4
xor eax, eax
test dword [esp + 0x128], 0x440
setne al
shl eax, 0x11
or eax, 2
mov dword [edi + 0x1a08], eax
cmp dword [esp + 0x18], 0
jne 0x1028141a
mov eax, dword [esp + 0x128]
test al, al
mov esi, dword [esp + 0x11c]
js 0x10281421
mov dword [edi + 0x1a04], 0xc
jmp 0x10281421
mov esi, dword [esp + 0x11c]
mov dl, 1
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 0x19f0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x44]
mov ebp, esi
cmp eax, dword [esp + 0x28]
jne 0x10281465
cmp byte [edi + 0x3d8], 0
sete al
or al, dl
mov byte [esp + 0x34], al
xor al, 1
mov dword [esp + 8], eax
mov byte [esp + 0x48], 1
mov esi, dword [esp]
test esi, esi
jne 0x10281484
xor ecx, ecx
jmp 0x1028157f
mov esi, dword [esp]
test esi, esi
setne al
and al, cl
mov byte [esp + 0x48], al
mov byte [esp + 0x34], 1
mov dword [esp + 8], 0
test esi, esi
je 0x1028145e
mov eax, dword [esp + 0x128]
shr eax, 0xe
mov ecx, dword [esi + 0x40]
cmp ecx, dword [esi + 0x44]
setne dl
mov cl, byte [esp + 0x48]
and dl, cl
mov dword [esp + 0x44], edx
and al, cl
cmp al, 1
jne 0x102814d1
mov dword [esp + 0x64], 0
mov ecx, dword [esp + 0x120]
lea ebp, [ecx + 1]
mov eax, dword [esi + 0x10]
cmp eax, ecx
jg 0x10281525
test eax, eax
je 0x102814da
mov ebx, eax
shr ebx, 0x1f
add ebx, eax
sar ebx, 1
add ebx, eax
jmp 0x102814df
mov ecx, dword [esp + 0x44]
jmp 0x1028157f
mov ebx, 8
cmp ebx, ebp
cmovle ebx, ebp
cmp eax, ebx
mov esi, dword [esp]
jge 0x10281525
lea eax, [ebx + ebx]
push eax
call fcn.102373d0
add esp, 4
mov edi, eax
mov eax, dword [esi + 0x14]
test eax, eax
je 0x1028151b
mov ecx, dword [esi + 0xc]
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [esi + 0x14]
call fcn.102374a0
add esp, 4
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], ebx
mov edi, dword [esp + 0xc]
mov dword [esi + 0xc], ebp
lea eax, [esp + 0x64]
push eax
push 0
mov eax, dword [esp + 0x124]
push eax
push ebp
mov ebx, eax
push dword [esi + 0x14]
call fcn.10237b90
add esp, 0x14
mov dword [esi + 4], eax
mov ecx, dword [esp + 0x64]
mov ebp, ebx
sub ecx, ebx
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0x3c]
mov edx, dword [esi + 0x40]
cmp ecx, eax
cmovge ecx, eax
mov dword [esi + 0x3c], ecx
cmp edx, eax
cmovge edx, eax
mov dword [esi + 0x40], edx
mov ecx, dword [esi + 0x44]
cmp ecx, eax
cmovl eax, ecx
mov dword [esi + 0x44], eax
cmp edx, eax
setne al
mov ecx, dword [esp + 0x44]
and cl, al
mov eax, dword [esp + 0x118]
mov dword [esp + 0x40], eax
mov al, byte [esp + 0x48]
or al, cl
mov esi, ebp
mov eax, dword [esp + 0x28]
jne 0x102815a0
cmp dword [edi + 0x19f0], eax
jne 0x102815cb
mov dword [esp + 0x50], 0
test dword [esp + 0x128], 0x4000
jne 0x102815d3
cmp dword [esp], 0
je 0x102815d3
mov eax, dword [esp]
cmp byte [eax + 0x30], 0
setne al
mov dword [esp + 0x50], eax
jmp 0x102815d3
mov dword [esp + 0x50], 0
cmp dword [esp + 0x118], 0
mov dword [esp + 0x44], ecx
je 0x102815f8
mov eax, esi
cmp byte [esp + 0x50], 0
je 0x102815f0
mov eax, dword [esp]
mov eax, dword [eax + 0x20]
cmp byte [eax], 0
sete cl
jmp 0x102815fa
xor ecx, ecx
mov eax, dword [esp + 0x128]
test ax, ax
setns al
mov dword [esp + 0x30], ecx
or al, cl
mov byte [esp + 0x63], al
jne 0x10281692
mov ecx, dword [edi + 0x18cc]
push 0x2a
call fcn.1026be90
lea ecx, [edi + 0x2c70]
mov edx, dword [edi + 0x18cc]
movss xmm0, dword [edx + 0x10]
movss dword [edi + 0x2c80], xmm0
movss xmm0, dword [edx + 0x44]
movss dword [edi + 0x2cb4], xmm0
movsd xmm0, qword [edx + 0x30]
movsd qword [edi + 0x2ca0], xmm0
movss xmm0, dword [edx + 0x48]
movss dword [edi + 0x2cb8], xmm0
movss xmm0, dword [edx + 0x4c]
movss dword [edi + 0x2cbc], xmm0
mov edx, dword [edx + 0x38]
mov dword [edi + 0x2ca8], edx
mov dword [edi + 0x2c9c], eax
movss xmm0, dword [eax + 4]
movss dword [edi + 0x2c7c], xmm0
push ecx
call fcn.1024ec20
add esp, 4
mov ebp, dword [esp + 0x12c]
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x28]
cmp dword [edi + 0x19f0], eax
jne 0x10281a16
mov ebx, dword [esp]
mov ecx, dword [esp + 0x120]
mov dword [ebx + 0x34], ecx
mov ecx, dword [esp + 0x128]
mov dword [ebx + 0xe68], ecx
mov dword [ebx + 0xe6c], ebp
mov eax, dword [esp + 0x130]
mov dword [ebx + 0xe70], eax
mov al, byte [edi + 0xec]
mov ecx, eax
xor cl, 1
mov edx, dword [ebx + 8]
mov dword [esp + 0x20], edx
mov byte [edi + 0x19fd], cl
mov dword [edi + 0x2f64], 1
cmp dword [esp + 0x18], 0
je 0x10281729
movss xmm1, dword [edi + 0xe8]
mov ecx, dword [esp + 0x58]
movss xmm0, dword [ecx + 0xcc]
addss xmm0, dword [edi + 0x1554]
subss xmm1, xmm0
jmp 0x10281739
movss xmm1, dword [edi + 0x18d0]
mulss xmm1, dword [0x103574f4]
mov ch, byte [edi + 0xb1]
cmp byte [esp + 0x14], 0
je 0x102817a4
mov dword [ebx + 0x40], 0
mov eax, dword [ebx + 4]
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x3c], eax
mov byte [ebx + 0x4b], 0
mov byte [ebx + 0xe65], 1
cmp byte [ebx + 0xe65], 0
je 0x1028177a
cmp byte [edi + 0xec], 0
jne 0x1028177a
mov byte [ebx + 0xe65], 0
cmp byte [edi + 0xfc], 0
je 0x10281827
cmp byte [edi + 0xfe], 0
sete bl
je 0x10281839
test ch, ch
jne 0x1028182f
jmp 0x10281839
movss xmm2, dword [esp + 0x9c]
addss xmm2, dword [edi + 0x1550]
movss xmm0, dword [edi + 0xe4]
subss xmm0, xmm2
addss xmm0, dword [ebx + 0x38]
test ch, ch
sete cl
and cl, byte [esp + 0x54]
cmp cl, 1
jne 0x102817e1
cmp byte [edi + 0x3dd], 0
jne 0x10281746
mov cl, byte [esp + 0x54]
xor cl, 1
test ch, ch
sete dl
or dl, cl
jne 0x102818b3
cmp byte [edi + 0x3dd], 0
je 0x102818b3
mov byte [esp + 0x14], ch
mov ecx, ebx
push 0x1000c
call fcn.10284b10
mov ecx, ebx
push 0x3000d
call fcn.10284b10
mov ch, byte [esp + 0x14]
jmp 0x10281761
test ch, ch
je 0x1028191b
cmp byte [edi + 0xff], 0
setne bl
test dword [esp + 0x128], 0x400
je 0x1028198f
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x34]
test eax, eax
js 0x1028198f
push 1
push eax
call fcn.102475d0
add esp, 8
xor al, 1
or al, bl
jne 0x1028198f
cmp byte [edi + 0xfd], 0
jne 0x1028198f
mov eax, dword [esp + 0x128]
and eax, 0x4000
jne 0x1028198f
mov ecx, dword [edi + 0x1508]
mov eax, dword [edi + 0x1510]
lea ecx, [eax + ecx*2]
cmp eax, ecx
jae 0x1028195c
cmp word [eax], 9
lea eax, [eax + 2]
jne 0x1028189d
jmp 0x1028198f
cmp byte [edi + 0x3d8], 0
je 0x102818c5
cmp byte [ebx + 0xe65], 0
je 0x10281930
test al, al
je 0x10281761
cmp byte [ebx + 0xe65], 0
jne 0x10281761
xorps xmm2, xmm2
ucomiss xmm2, dword [edi + 0x378]
jne 0x102818f3
ucomiss xmm2, dword [edi + 0x37c]
je 0x10281761
lea edx, [ebx + 0x3c]
mov byte [esp + 0x14], ch
mov ecx, ebx
call fcn.102861b0
mov ch, byte [esp + 0x14]
mov dword [ebx + 0xe60], 0xbe99999a
mov byte [ebx + 0xe64], 1
jmp 0x10281761
xor ebx, ebx
test dword [esp + 0x128], 0x400
jne 0x1028184a
jmp 0x1028198f
cmp byte [esp + 0x54], 0
je 0x10281761
lea edx, [ebx + 0x3c]
mov byte [esp + 0x14], ch
mov ecx, ebx
call fcn.10286170
mov ch, byte [esp + 0x14]
mov dword [ebx + 0xe60], 0xbe99999a
jmp 0x10281761
mov dword [esp + 0x64], 9
lea ecx, [esp + 0x64]
mov edx, dword [esp + 0x128]
push dword [esp + 0x130]
push ebp
call fcn.10286200
add esp, 8
test al, al
je 0x1028198f
mov ecx, dword [esp]
push dword [esp + 0x64]
call fcn.10284b10
cmp dword [edi + 0x1508], 0
jle 0x10281a16
mov eax, dword [esp + 0x128]
shr eax, 0xe
and eax, 1
or bl, al
or bl, byte [esp + 0x24]
je 0x10281b06
cmp dword [edi + 0x150c], 0
jns 0x10281a05
push 0
call fcn.102373d0
add esp, 4
mov esi, edi
mov edi, eax
mov eax, dword [esi + 0x1510]
test eax, eax
je 0x102819f3
mov ecx, dword [esi + 0x1508]
add ecx, ecx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [esi + 0x1510]
call fcn.102374a0
add esp, 4
mov dword [esi + 0x1510], edi
mov dword [esi + 0x150c], 0
mov edi, esi
mov dword [edi + 0x1508], 0
mov esi, dword [esp + 0x11c]
mov ecx, dword [edi + 0x19f0]
xor eax, eax
cmp ecx, dword [esp + 0x28]
jne 0x10281a81
cmp byte [edi + 0x19fc], 0
jne 0x10281b6c
cmp byte [esp + 0x34], 0
je 0x10281b6a
movzx eax, byte [edi + 0xfd]
mov dword [esp + 0x24], eax
mov al, byte [edi + 0xb1]
test al, al
mov byte [esp + 0x94], al
je 0x10281fb6
cmp byte [edi + 0xff], 0
je 0x10281fd5
cmp byte [edi + 0xfc], 0
je 0x10281ffe
xor eax, eax
mov ecx, dword [esp + 0x24]
jmp 0x1028200d
xor eax, eax
mov dword [esp + 4], 0
cmp ecx, dword [esp + 0x28]
jne 0x1028264e
mov ebx, eax
test al, al
je 0x10281ad7
mov eax, dword [esp + 0x128]
and eax, 0x4000
jne 0x10281ad7
mov eax, dword [esp]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x24], eax
push eax
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x10281ad7
mov eax, dword [esp]
mov edx, dword [eax + 0x24]
add edx, 0xffffffff
test bl, bl
mov eax, dword [esp + 0x24]
jne 0x10281ae6
jmp 0x10281b76
xor eax, eax
mov edx, 0
test bl, bl
je 0x10281b66
cmp byte [esp + 4], 0
je 0x10281ec3
mov ecx, eax
mov eax, dword [esp + 0x128]
and eax, 0x20
mov eax, ecx
jne 0x10281b76
jmp 0x10281ec3
xor esi, esi
lea ebx, [esp + 0x64]
jmp 0x10281b28
cmp byte [edi + 0xfd], 0
je 0x10281b3b
add esi, 1
cmp esi, dword [edi + 0x1508]
jge 0x102819b1
mov eax, dword [edi + 0x1510]
movzx eax, word [eax + esi*2]
mov dword [esp + 0x64], eax
cmp eax, 9
je 0x10281b10
mov ecx, ebx
mov edx, dword [esp + 0x128]
push dword [esp + 0x130]
push ebp
call fcn.10286200
add esp, 8
test al, al
je 0x10281b19
mov ecx, dword [esp]
push dword [esp + 0x64]
call fcn.10284b10
jmp 0x10281b19
xor edx, edx
jmp 0x10281b76
xor eax, eax
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp + 0x24], eax
test dword [esp + 0x128], 0x4000
mov dword [esp + 0x10], edx
jne 0x10281c23
mov ebx, dword [esp]
mov byte [ebx + 0x30], 1
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x1c]
lea esi, [ecx*4 + 1]
cmp eax, esi
jge 0x10281bfd
test eax, eax
je 0x10281bb8
mov ebp, eax
shr ebp, 0x1f
add ebp, eax
sar ebp, 1
add ebp, eax
jmp 0x10281bbd
mov ebp, 8
cmp ebp, esi
cmovle ebp, esi
cmp eax, ebp
mov ebx, dword [esp]
jge 0x10281bfd
push ebp
call fcn.102373d0
add esp, 4
mov edi, eax
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x10281bf3
push dword [ebx + 0x18]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push dword [ebx + 0x20]
call fcn.102374a0
add esp, 4
mov dword [ebx + 0x20], edi
mov dword [ebx + 0x1c], ebp
mov edi, dword [esp + 0xc]
mov dword [ebx + 0x18], esi
push 0
push dword [ebx + 0x14]
push esi
push dword [ebx + 0x20]
call fcn.10237d50
add esp, 0x10
mov esi, dword [esp + 0x11c]
mov ebp, dword [esp + 0x12c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x128]
test eax, 0x1c0
je 0x10281e83
test al, 0x40
je 0x10281c61
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x34]
test eax, eax
js 0x10281c61
push 1
push eax
call fcn.102475d0
mov edx, dword [esp + 0x18]
add esp, 8
test al, al
je 0x10281c61
xor eax, eax
mov ecx, 0x40
jmp 0x10281cd9
mov eax, dword [esp + 0x128]
test al, al
js 0x10281c8a
mov eax, dword [esp + 0x128]
test eax, 0x100
je 0x10281e83
mov eax, 0x16
mov ecx, 0x100
jmp 0x10281cd9
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10281cb5
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10281cac
mov eax, 3
jmp 0x10281cd4
mov eax, dword [0x1042dd60]
mov edx, dword [esp + 0x10]
mov eax, dword [eax + 0x44]
test eax, eax
js 0x10281c6c
push 1
push eax
call fcn.102475d0
mov edx, dword [esp + 0x18]
add esp, 8
test al, al
je 0x10281c6c
mov eax, 4
mov ecx, 0x80
xorps xmm0, xmm0
movups xmmword [esp + 0x70], xmm0
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x74], eax
mov ebx, dword [esp]
mov eax, dword [ebx + 0x20]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x7c], eax
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x80], eax
mov byte [esp + 0x84], 0
mov esi, dword [ebx + 0x14]
mov eax, dword [ebx + 0x3c]
lea eax, [esi + eax*2]
push eax
push esi
call fcn.10237e90
add esp, 8
mov ebp, eax
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x40]
lea eax, [esi + eax*2]
push eax
push esi
call fcn.10237e90
add esp, 8
mov edi, eax
mov dword [esp + 0x8c], eax
mov eax, dword [ebx + 0x44]
lea eax, [esi + eax*2]
push eax
push esi
call fcn.10237e90
add esp, 8
mov esi, eax
mov dword [esp + 0x90], eax
lea eax, [esp + 0x64]
push eax
call dword [esp + 0x130]
add esp, 4
mov eax, dword [esp + 0x88]
cmp eax, ebp
je 0x10281dba
mov ecx, dword [esp + 0x78]
add eax, ecx
push eax
push ecx
call fcn.10237b30
add esp, 8
mov ecx, dword [esp]
mov dword [ecx + 0x3c], eax
mov byte [ecx + 0xe64], 1
mov eax, dword [esp + 0x8c]
cmp eax, edi
je 0x10281ddb
mov ecx, dword [esp + 0x78]
add eax, ecx
push eax
push ecx
call fcn.10237b30
add esp, 8
mov ecx, dword [esp]
mov dword [ecx + 0x40], eax
mov eax, dword [esp + 0x90]
cmp eax, esi
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x11c]
je 0x10281e07
mov ecx, dword [esp + 0x78]
add eax, ecx
push eax
push ecx
call fcn.10237b30
add esp, 8
mov ecx, dword [esp]
mov dword [ecx + 0x44], eax
cmp byte [esp + 0x84], 0
mov ebp, dword [esp + 0x12c]
mov edx, dword [esp + 0x10]
je 0x10281e7c
mov ebx, esi
mov eax, dword [esp + 0x7c]
sub eax, dword [esp + 0x20]
jle 0x10281e45
mov ecx, dword [esp + 0x128]
and ecx, 0x40000
je 0x10281e45
mov ecx, dword [esp]
add ecx, 0xc
add eax, dword [ecx]
push eax
call fcn.10299070
push 0
push 0
push dword [esp + 0x80]
mov esi, dword [esp + 0xc]
push dword [esi + 0xc]
push dword [esi + 0x14]
call fcn.10237b90
add esp, 0x14
mov dword [esi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + 8], eax
mov dword [esi + 0xe60], 0xbe99999a
mov esi, ebx
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x128]
test eax, 0x4000
je 0x10281e90
mov eax, dword [esp + 0x24]
jmp 0x10281ec3
mov eax, esi
mov ebx, dword [esp]
mov esi, dword [ebx + 0x20]
push eax
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x10281eb4
mov edx, dword [ebx + 8]
mov eax, esi
mov esi, dword [esp + 0x11c]
jmp 0x10281ec3
mov esi, dword [esp + 0x11c]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x10]
mov ebx, eax
test eax, eax
setne al
mov dword [esp + 0x24], eax
je 0x10281f61
cmp dword [esp + 0x20], edx
je 0x10281f67
mov ecx, dword [esp + 0x128]
mov eax, ecx
and eax, 0x40000
je 0x10281f67
xorps xmm0, xmm0
movups xmmword [esp + 0x70], xmm0
movups xmmword [esp + 0x80], xmm0
mov dword [esp + 0x90], 0
mov dword [esp + 0x64], 0x40000
mov dword [esp + 0x68], ecx
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edx
lea eax, [edx + 1]
mov ecx, dword [esp + 0x120]
cmp edx, ecx
cmovl eax, ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x64]
push eax
call ebp
add esp, 4
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
lea edx, [ecx - 1]
cmp eax, edx
cmovl edx, eax
jmp 0x10281f6e
mov ebp, dword [esp + 0x28]
jmp 0x10281f85
mov ecx, dword [esp + 0x120]
mov ebp, dword [esp + 0x28]
add edx, 1
cmp edx, ecx
cmovge edx, ecx
push edx
push ebx
push esi
call fcn.10237350
add esp, 0xc
mov eax, dword [esp]
mov dword [eax + 0xe68], 0
mov dword [eax + 0xe6c], 0
mov dword [eax + 0xe70], 0
cmp byte [esp + 8], 0
jne 0x10282661
jmp 0x1028266e
cmp byte [edi + 0xfc], 0
je 0x10282024
mov cl, 1
cmp byte [edi + 0xff], 0
je 0x102820c4
xor eax, eax
jmp 0x102820d1
lea eax, [edi + 0xfe]
mov dword [esp + 0x4c], eax
mov eax, edi
lea ecx, [edi + 0xfc]
mov dword [esp + 0x5c], ecx
mov cl, byte [edi + 0xfc]
mov dl, byte [edi + 0xfe]
xor eax, eax
jmp 0x102820e7
mov al, byte [edi + 0xfe]
mov ecx, dword [esp + 0x24]
or al, cl
sete al
test cl, cl
je 0x1028201a
cmp byte [edi + 0xfc], 0
je 0x1028202d
mov dword [esp + 0x14], 0
jmp 0x1028203b
xor ecx, ecx
xor eax, eax
jmp 0x102820d1
cmp byte [edi + 0xfe], 0
sete cl
mov dword [esp + 0x14], ecx
lea ecx, [edi + 0xfe]
mov dword [esp + 0x4c], ecx
cmp byte [edi + 0xfe], 0
mov ecx, edi
lea edx, [edi + 0xfc]
mov dword [esp + 0x5c], edx
sete dl
cmp byte [edi + 0xfc], 0
mov byte [esp + 0x34], dl
jne 0x10282103
cmp byte [esp + 0x24], 0
je 0x1028210c
mov ecx, dword [esp + 0x4c]
cmp byte [ecx], 0
jne 0x1028210c
mov edi, edx
mov ecx, dword [esp + 0xc]
mov dl, byte [ecx + 0xff]
test dl, dl
sete cl
mov dword [esp + 4], ecx
test al, al
je 0x102821fa
mov ecx, dword [0x1042dd60]
mov eax, dword [ecx + 0x80]
test eax, eax
js 0x10283d62
mov dword [esp + 0x2c], 0
mov edx, edi
jmp 0x1028219f
mov al, byte [edi + 0xfe]
or al, byte [esp + 0x24]
sete al
lea edx, [edi + 0xfe]
mov dword [esp + 0x4c], edx
lea edx, [edi + 0xfc]
mov dword [esp + 0x5c], edx
mov edx, ecx
test dl, dl
sete byte [esp + 0x34]
mov dword [esp + 0x14], 0
mov edx, 0
test cl, cl
je 0x1028206c
cmp byte [esp + 0x24], 0
je 0x1028214a
xor edx, edx
test al, al
je 0x10282125
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x80]
mov dword [esp + 0x2c], 0
jmp 0x10282187
mov dword [esp + 0x3c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0
mov dword [esp + 0x10], 0
jmp 0x10282477
mov ecx, dword [esp + 0x4c]
cmp byte [ecx], 0
je 0x1028215f
test al, al
je 0x10283dae
xor edx, edx
jmp 0x10282176
mov ecx, dword [esp + 0xc]
mov cl, byte [ecx + 0xff]
test cl, cl
sete dl
test al, al
je 0x1028223f
mov dword [esp + 0x2c], edx
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x80]
xor edx, edx
mov dword [esp + 4], 0
mov dword [esp + 0x1c], 0
test eax, eax
js 0x102822c3
mov edi, edx
mov bl, 1
push 1
push eax
call fcn.102475d0
add esp, 8
test al, al
je 0x10282204
mov eax, dword [esp + 0x128]
test ax, ax
sets cl
shr eax, 0xe
and eax, 1
or al, cl
mov ecx, eax
xor cl, 1
mov dword [esp + 0x1c], ecx
test al, al
jne 0x102822b9
cmp dword [esp + 0x18], 0
mov edx, edi
je 0x102822c3
mov ecx, dword [esp]
mov eax, dword [ecx + 0x40]
cmp eax, dword [ecx + 0x44]
setne al
mov dword [esp + 0x1c], eax
jmp 0x102822c3
xor ebx, ebx
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 4]
test al, al
mov edx, edi
je 0x1028222a
mov ecx, dword [0x1042dd60]
mov edi, edx
mov eax, dword [ecx + 0x5c]
test eax, eax
js 0x10282266
push 1
push eax
call fcn.102475d0
add esp, 8
jmp 0x10282268
mov dword [esp + 4], 0
mov dword [esp + 0x1c], 0
jmp 0x102822bf
test cl, cl
je 0x10283d89
mov dword [esp + 0x3c], 0
mov dword [esp + 0x1c], 0
xor edx, edx
mov dword [esp + 0x10], 0
jmp 0x1028246f
xor eax, eax
mov ecx, dword [esp + 0x128]
test cx, cx
sets dl
shr ecx, 0xe
and ecx, 1
xor al, 1
or al, cl
or al, dl
mov ecx, eax
xor cl, 1
mov dword [esp + 0x1c], ecx
mov cl, 1
mov dword [esp + 4], ecx
test al, al
jne 0x102822bd
cmp dword [esp + 0x18], 0
mov edx, edi
je 0x102822bf
mov ecx, dword [esp]
mov eax, dword [ecx + 0x40]
cmp eax, dword [ecx + 0x44]
setne al
mov dword [esp + 0x1c], eax
mov al, 1
mov dword [esp + 4], eax
test bl, bl
jne 0x102822c3
jmp 0x10282326
mov edx, edi
jmp 0x102822c3
mov edx, edi
test bl, bl
je 0x10282326
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x78]
test eax, eax
js 0x1028230c
mov edi, edx
mov bl, 1
push 1
push eax
call fcn.102475d0
add esp, 8
test al, al
je 0x10282322
mov eax, dword [esp + 0x128]
and eax, 0x108000
cmp eax, 0x100000
jne 0x10282305
mov ecx, dword [esp]
mov eax, dword [ecx + 0x40]
cmp eax, dword [ecx + 0x44]
setne al
mov dword [esp + 0x10], eax
mov edx, edi
jmp 0x102823ad
mov bl, 1
cmp byte [esp + 0x2c], 0
jne 0x1028232f
mov dword [esp + 0x10], 0
jmp 0x102823ad
mov edx, edi
jmp 0x10282328
xor ebx, ebx
cmp byte [esp + 0x2c], 0
je 0x10282381
mov edi, ebx
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x58]
test eax, eax
js 0x10282385
mov ebp, edx
mov ecx, dword [esp + 0x128]
test cx, cx
setns bl
push 1
push eax
call fcn.102475d0
add esp, 8
and al, bl
cmp al, 1
jne 0x1028239d
cmp dword [esp + 0x18], 0
mov ebx, edi
je 0x102823a3
mov ecx, dword [esp]
mov eax, dword [ecx + 0x40]
cmp eax, dword [ecx + 0x44]
setne al
mov dword [esp + 0x10], eax
test bl, bl
mov edx, ebp
jne 0x102823ad
jmp 0x10282422
xor eax, eax
jmp 0x102823a5
mov dword [esp + 0x10], 0
mov ebx, 0
mov eax, edi
test al, al
jne 0x102823ad
jmp 0x10282428
mov edx, ebp
mov ebx, edi
jmp 0x102823a5
mov edx, ebp
mov dword [esp + 0x10], eax
test bl, bl
je 0x10282422
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
js 0x102823e7
mov edi, edx
mov bl, 1
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10282426
mov ebx, dword [esp + 0x128]
test ebx, 0x4000
sete al
mov dword [esp + 0x3c], eax
mov edx, edi
jmp 0x1028249c
cmp byte [esp + 4], 0
je 0x10282494
mov eax, dword [eax + 0x58]
test eax, eax
js 0x10282494
test dword [esp + 0x128], 0x4000
sete bl
push 1
push eax
mov edi, edx
call fcn.102475d0
mov edx, edi
add esp, 8
and al, bl
mov dword [esp + 0x3c], eax
jmp 0x1028249c
xor ebx, ebx
jmp 0x10282428
mov edx, edi
cmp byte [esp + 4], 0
je 0x10282463
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x58]
test eax, eax
js 0x10282463
push 1
push eax
mov edi, edx
call fcn.102475d0
mov edx, edi
add esp, 8
test al, al
je 0x10282463
mov eax, dword [esp + 0x128]
test eax, 0x4000
sete cl
mov dword [esp + 0x3c], ecx
jmp 0x1028246b
mov dword [esp + 0x3c], 0
test bl, bl
jne 0x1028249c
mov dword [esp + 4], 0
mov dword [esp + 0x2c], 0
mov ecx, 0
cmp byte [esp + 0x14], 0
jne 0x1028252a
jmp 0x1028256f
mov dword [esp + 0x3c], 0
mov edi, edx
mov edx, dword [0x1042dd60]
mov ecx, dword [edx + 0x88]
test ecx, ecx
js 0x102824c1
push 1
push ecx
call fcn.102475d0
add esp, 8
mov edx, dword [0x1042dd60]
jmp 0x102824c3
xor eax, eax
mov ebx, dword [esp + 0x128]
test ebx, 0x10000
sete cl
test ebx, 0x4000
sete bl
and al, bl
and al, cl
mov ecx, dword [edx + 0x84]
test ecx, ecx
mov dword [esp + 0x2c], eax
mov al, 1
js 0x1028250c
mov dword [esp + 4], eax
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x1028251b
mov eax, dword [esp + 0x128]
jmp 0x10282559
mov dword [esp + 4], eax
cmp byte [esp + 0x14], 0
je 0x1028256b
mov edx, edi
jmp 0x1028252a
mov al, 1
mov dword [esp + 4], eax
cmp byte [esp + 0x14], 0
mov edx, edi
je 0x10282567
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x88]
test eax, eax
js 0x10282567
mov edi, edx
push 1
push eax
call fcn.102475d0
add esp, 8
test al, al
je 0x1028256b
mov eax, dword [esp + 0x128]
test eax, 0x4000
sete bl
mov edx, edi
test eax, 0x10000
sete cl
and cl, bl
jmp 0x1028256f
xor ecx, ecx
jmp 0x1028256f
xor ecx, ecx
mov edx, edi
mov dword [esp + 0x14], ecx
mov ebp, dword [esp + 0x24]
shl ebp, 0x11
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x38]
test ecx, ecx
js 0x102825bb
mov edi, edx
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x102825b4
cmp byte [esp + 0x34], 0
mov eax, 0x10000
mov ecx, 0x1000c
cmovne ecx, eax
mov eax, edi
test al, al
mov eax, 0x10004
jmp 0x102825f6
mov eax, dword [0x1042dd60]
mov edx, edi
mov ecx, dword [eax + 0x3c]
test ecx, ecx
js 0x10283aac
mov edi, edx
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10283aa5
cmp byte [esp + 0x34], 0
mov eax, 0x10001
mov ecx, 0x1000d
cmovne ecx, eax
mov eax, edi
test al, al
mov eax, 0x10005
cmove eax, ecx
or eax, ebp
mov edi, dword [esp]
mov ecx, edi
push eax
call fcn.10284b10
mov edx, edi
xor ebx, ebx
mov dword [esp + 4], 0
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x12c]
mov ecx, dword [edx + 0x40]
cmp ecx, dword [edx + 0x44]
setne cl
and cl, byte [esp + 0x48]
mov edx, dword [esp + 0x44]
or dl, cl
mov dword [esp + 0x44], edx
mov ecx, dword [edi + 0x19f0]
mov dword [esp + 8], eax
mov eax, ebx
cmp ecx, dword [esp + 0x28]
je 0x10281a95
mov dword [esp + 0x24], 0
mov ebp, dword [esp + 0x28]
cmp byte [esp + 8], 0
je 0x1028266e
cmp dword [edi + 0x19f0], ebp
jne 0x1028266e
call fcn.1023c720
cmp dword [esp + 0x18], 0
jne 0x10282d72
movss xmm0, dword [edi + 0x1518]
movss dword [esp + 8], xmm0
call fcn.10236880
mov ebx, dword [0x1041ffec]
mov ecx, dword [ebx + 4]
mov dl, byte [ecx + 0xd]
mov dword [esp + 0x10], ebx
mov byte [esp + 0x20], dl
test dl, dl
jne 0x102826c4
mov ebx, dword [esp + 0x10]
mov edi, ecx
nop word [eax + eax]
xor edx, edx
cmp dword [edi + 0x10], ebp
cmovae ebx, edi
setb dl
mov edi, dword [edi + edx*8]
cmp byte [edi + 0xd], 0
je 0x102826b0
movss xmm2, dword [eax + 0x10]
cmp byte [ebx + 0xd], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x4c], esi
je 0x102827c3
xor ebx, ebx
mov edi, ecx
mov eax, edx
cmp byte [esp + 0x20], 0
jne 0x10282715
mov eax, edx
mov ebx, ecx
mov esi, ebp
nop
mov edi, ebx
mov ebp, dword [ebx + 0x10]
xor edx, edx
cmp ebp, esi
cmovae eax, ebx
setb dl
mov ebx, dword [ebx + edx*8]
cmp byte [ebx + 0xd], 0
je 0x102826f0
xor ebx, ebx
cmp ebp, esi
setae bl
mov ebp, esi
mov edx, dword [esp + 0x10]
cmp byte [eax + 0xd], 0
jne 0x10282724
cmp ebp, dword [eax + 0x10]
jae 0x102828f6
movss dword [esp + 0x20], xmm2
cmp dword [0x1041fff0], 0x71c71c7
je 0x10284146
push 0x24
call fcn.102e53ba
add esp, 4
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], 0x3e109091
mov dword [eax + 0x18], 0x3e109091
mov dword [eax + 0x1c], 0x3e109091
movss xmm0, dword [esp + 8]
movss dword [eax + 0x20], xmm0
mov ecx, dword [esp + 0x10]
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov word [eax + 0xc], 0
mov ecx, 0x1041ffec
push eax
push ebx
push edi
call fcn.100abef0
mov edx, dword [0x1041ffec]
mov ecx, dword [edx + 4]
mov al, byte [ecx + 0xd]
movss xmm2, dword [esp + 0x20]
mov ebx, edx
test al, al
jne 0x102827b4
mov ebx, edx
xor eax, eax
cmp dword [ecx + 0x10], ebp
cmovae ebx, ecx
setb al
mov ecx, dword [ecx + eax*8]
cmp byte [ecx + 0xd], 0
je 0x102827a0
cmp byte [ebx + 0xd], 0
jne 0x102827bf
cmp ebp, dword [ebx + 0x10]
jae 0x102827d4
mov ebx, edx
jmp 0x102827d4
cmp ebp, dword [ebx + 0x10]
jb 0x102826db
cmp ebx, edx
je 0x102826db
mulss xmm2, dword [0x10357ab8]
cmp byte [esp + 0x54], 0
mov edi, dword [esp + 0xc]
jne 0x102827ef
cmp dword [edi + 0x19f0], ebp
jne 0x10282818
movss xmm1, dword [ebx + 0x14]
movss xmm0, dword [0x103624e0]
ucomiss xmm0, xmm1
je 0x1028285f
ucomiss xmm1, dword [0x103624e0]
jae 0x1028284c
addss xmm1, xmm2
minss xmm1, dword [0x103624e0]
jmp 0x1028285a
movss xmm1, dword [ebx + 0x14]
movss xmm0, dword [0x103624dc]
ucomiss xmm0, xmm1
je 0x10282912
ucomiss xmm1, dword [0x103624dc]
jae 0x102828ff
addss xmm1, xmm2
minss xmm1, dword [0x103624dc]
jmp 0x1028290d
jbe 0x1028285f
subss xmm1, xmm2
maxss xmm1, dword [0x103624e0]
movss dword [ebx + 0x14], xmm1
movss xmm1, dword [ebx + 0x18]
ucomiss xmm0, xmm1
je 0x10282893
ucomiss xmm1, dword [0x103624e0]
jae 0x10282880
addss xmm1, xmm2
minss xmm1, dword [0x103624e0]
jmp 0x1028288e
jbe 0x10282893
subss xmm1, xmm2
maxss xmm1, dword [0x103624e0]
movss dword [ebx + 0x18], xmm1
movss xmm1, dword [ebx + 0x1c]
ucomiss xmm0, xmm1
je 0x102828c7
ucomiss xmm1, dword [0x103624e0]
jae 0x102828b4
addss xmm1, xmm2
minss xmm1, dword [0x103624e0]
jmp 0x102828c2
jbe 0x102828c7
subss xmm1, xmm2
maxss xmm1, dword [0x103624e0]
movss dword [ebx + 0x1c], xmm1
movss xmm0, dword [ebx + 0x20]
movss xmm1, dword [esp + 8]
ucomiss xmm1, xmm0
je 0x102829a2
ucomiss xmm0, xmm1
jae 0x10282993
addss xmm0, xmm2
minss xmm0, xmm1
movss dword [ebx + 0x20], xmm0
jmp 0x102829a2
mov al, byte [esp + 0x20]
jmp 0x10282798
jbe 0x10282912
subss xmm1, xmm2
maxss xmm1, dword [0x103624dc]
movss dword [ebx + 0x14], xmm1
movss xmm1, dword [ebx + 0x18]
ucomiss xmm0, xmm1
je 0x10282946
ucomiss xmm1, dword [0x103624dc]
jae 0x10282933
addss xmm1, xmm2
minss xmm1, dword [0x103624dc]
jmp 0x10282941
jbe 0x10282946
subss xmm1, xmm2
maxss xmm1, dword [0x103624dc]
movss dword [ebx + 0x18], xmm1
movss xmm1, dword [ebx + 0x1c]
ucomiss xmm0, xmm1
je 0x1028297a
ucomiss xmm1, dword [0x103624dc]
jae 0x10282967
addss xmm1, xmm2
minss xmm1, dword [0x103624dc]
jmp 0x10282975
jbe 0x1028297a
subss xmm1, xmm2
maxss xmm1, dword [0x103624dc]
movss dword [ebx + 0x1c], xmm1
movss xmm0, dword [ebx + 0x20]
movss xmm1, dword [esp + 8]
ucomiss xmm1, xmm0
je 0x102829a2
ucomiss xmm0, xmm1
jb 0x102828e4
jbe 0x102829a2
subss xmm0, xmm2
maxss xmm1, xmm0
movss dword [ebx + 0x20], xmm1
mov ecx, dword [0x1041fff4]
mov eax, dword [ecx + 4]
mov dl, byte [eax + 0xd]
mov esi, ebp
mov dword [esp + 0x10], ecx
mov ebp, ecx
mov byte [esp + 0x20], dl
test dl, dl
jne 0x102829e4
mov ebp, dword [esp + 0x10]
mov edx, eax
nop word cs:[eax + eax]
nop
xor ecx, ecx
cmp dword [edx + 0x10], esi
cmovae ebp, edx
setb cl
mov edx, dword [edx + ecx*8]
cmp byte [edx + 0xd], 0
je 0x102829d0
movss xmm3, dword [edi + 0x1518]
cmp byte [ebp + 0xd], 0
je 0x10282b1d
mov dword [esp + 0x14], ebx
xor ecx, ecx
mov esi, eax
mov ebp, dword [esp + 0x10]
mov edx, ebp
cmp byte [esp + 0x20], 0
jne 0x10282a47
mov edx, ebp
mov edi, eax
mov ebx, dword [esp + 0x28]
nop word cs:[eax + eax]
nop dword [eax]
mov esi, edi
mov ebp, dword [edi + 0x10]
xor ecx, ecx
cmp ebp, ebx
cmovae edx, edi
setb cl
mov edi, dword [edi + ecx*8]
cmp byte [edi + 0xd], 0
je 0x10282a20
xor ecx, ecx
cmp ebp, ebx
setae cl
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
cmp byte [edx + 0xd], 0
mov ebx, dword [esp + 0x28]
movss dword [esp + 8], xmm3
jne 0x10282a60
cmp ebx, dword [edx + 0x10]
jae 0x10282c61
movss dword [esp + 0x20], xmm2
cmp dword [0x1041fff8], 0x71c71c7
je 0x10284146
mov edi, ecx
push 0x24
call fcn.102e53ba
add esp, 4
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], 0x3e70f0f1
mov dword [eax + 0x18], 0x3e70f0f1
mov dword [eax + 0x1c], 0x3e70f0f1
movss xmm0, dword [esp + 8]
movss dword [eax + 0x20], xmm0
mov dword [eax], ebp
mov dword [eax + 4], ebp
mov dword [eax + 8], ebp
mov word [eax + 0xc], 0
mov ecx, 0x1041fff4
push eax
push edi
push esi
call fcn.100abef0
mov ebp, dword [0x1041fff4]
mov eax, dword [ebp + 4]
mov cl, byte [eax + 0xd]
movss xmm2, dword [esp + 0x20]
mov edi, dword [esp + 0xc]
mov esi, ebp
test cl, cl
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
jne 0x10282b04
mov ebp, esi
nop word cs:[eax + eax]
xor ecx, ecx
cmp dword [eax + 0x10], edx
cmovae ebp, eax
setb cl
mov eax, dword [eax + ecx*8]
cmp byte [eax + 0xd], 0
je 0x10282af0
cmp byte [ebp + 0xd], 0
movss xmm3, dword [esp + 8]
jne 0x10282b19
mov eax, dword [esp + 0x28]
cmp eax, dword [ebp + 0x10]
jae 0x10282b34
mov ebp, esi
jmp 0x10282b34
mov ecx, dword [esp + 0x28]
cmp ecx, dword [ebp + 0x10]
jb 0x102829f6
cmp ebp, dword [esp + 0x10]
je 0x102829f6
lea esi, [esp + 0xa4]
cmp byte [esp + 0x54], 0
jne 0x10282b4e
mov eax, dword [esp + 0x28]
cmp dword [edi + 0x19f0], eax
jne 0x10282b77
movss xmm0, dword [ebp + 0x14]
movss xmm1, dword [0x103624e8]
ucomiss xmm1, xmm0
je 0x10282bbe
ucomiss xmm0, dword [0x103624e8]
jae 0x10282bab
addss xmm0, xmm2
minss xmm0, dword [0x103624e8]
jmp 0x10282bb9
movss xmm1, dword [ebp + 0x14]
movss xmm0, dword [0x103624e4]
ucomiss xmm0, xmm1
je 0x10282c7d
ucomiss xmm1, dword [0x103624e4]
jae 0x10282c6a
addss xmm1, xmm2
minss xmm1, dword [0x103624e4]
jmp 0x10282c78
jbe 0x10282bbe
subss xmm0, xmm2
maxss xmm0, dword [0x103624e8]
movss dword [ebp + 0x14], xmm0
movss xmm0, dword [ebp + 0x18]
movss xmm1, dword [0x103624ec]
ucomiss xmm1, xmm0
je 0x10282bfa
ucomiss xmm0, dword [0x103624ec]
jae 0x10282be7
addss xmm0, xmm2
minss xmm0, dword [0x103624ec]
jmp 0x10282bf5
jbe 0x10282bfa
subss xmm0, xmm2
maxss xmm0, dword [0x103624ec]
movss dword [ebp + 0x18], xmm0
movss xmm0, dword [ebp + 0x1c]
movss xmm1, dword [0x103564b8]
ucomiss xmm1, xmm0
je 0x10282c36
ucomiss xmm0, dword [0x103564b8]
jae 0x10282c23
addss xmm0, xmm2
minss xmm0, dword [0x103564b8]
jmp 0x10282c31
jbe 0x10282c36
subss xmm0, xmm2
maxss xmm0, dword [0x103564b8]
movss dword [ebp + 0x1c], xmm0
mov eax, ebx
movss xmm0, dword [ebp + 0x20]
ucomiss xmm3, xmm0
je 0x10282d09
ucomiss xmm0, xmm3
jae 0x10282cfa
addss xmm0, xmm2
minss xmm0, xmm3
movss dword [ebp + 0x20], xmm0
jmp 0x10282d09
mov cl, byte [esp + 0x20]
jmp 0x10282ad6
jbe 0x10282c7d
subss xmm1, xmm2
maxss xmm1, dword [0x103624e4]
movss dword [ebp + 0x14], xmm1
movss xmm1, dword [ebp + 0x18]
ucomiss xmm0, xmm1
je 0x10282cb1
ucomiss xmm1, dword [0x103624e4]
jae 0x10282c9e
addss xmm1, xmm2
minss xmm1, dword [0x103624e4]
jmp 0x10282cac
jbe 0x10282cb1
subss xmm1, xmm2
maxss xmm1, dword [0x103624e4]
movss dword [ebp + 0x18], xmm1
movss xmm1, dword [ebp + 0x1c]
ucomiss xmm0, xmm1
je 0x10282ce5
ucomiss xmm1, dword [0x103624e4]
jae 0x10282cd2
addss xmm1, xmm2
minss xmm1, dword [0x103624e4]
jmp 0x10282ce0
jbe 0x10282ce5
subss xmm1, xmm2
maxss xmm1, dword [0x103624e4]
movss dword [ebp + 0x1c], xmm1
mov eax, ebx
movss xmm0, dword [ebp + 0x20]
ucomiss xmm3, xmm0
je 0x10282d09
ucomiss xmm0, xmm3
jb 0x10282c4f
jbe 0x10282d09
subss xmm0, xmm2
maxss xmm3, xmm0
movss dword [ebp + 0x20], xmm3
mov ebx, dword [esp + 0x38]
mov edi, dword [ebx + 0x27c]
add eax, 0x14
push eax
call fcn.102382d0
add esp, 4
mov ecx, edi
push 0xf
push 0x40a00000
push eax
push esi
lea esi, [esp + 0xac]
push esi
call fcn.1025cb20
mov edi, dword [ebx + 0x27c]
add ebp, 0x14
push ebp
call fcn.102382d0
add esp, 4
mov ecx, edi
push 0x3f800000
push 0xf
push 0x40a00000
push eax
lea eax, [esp + 0xb4]
push eax
push esi
call fcn.1025ca40
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x9c]
movss xmm3, dword [esp + 0xa0]
movss xmm4, dword [esp + 0xb0]
addss xmm4, xmm3
movss xmm0, dword [esp + 0xac]
movaps xmm1, xmm0
addss xmm1, xmm2
movss dword [esp + 0xcc], xmm2
movss dword [esp + 0xd0], xmm3
movss dword [esp + 0x14], xmm1
movss dword [esp + 0xd4], xmm1
movss dword [esp + 0xd8], xmm4
cmp dword [esp + 0x18], 0
movss dword [esp + 0x10], xmm0
je 0x10282e00
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + 0xc8]
mov ecx, dword [ecx + 0xcc]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xb4], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x54], eax
jmp 0x10282e36
movss xmm0, dword [edi + 0x1554]
addss xmm0, xmm3
movss xmm1, dword [edi + 0x1550]
addss xmm1, xmm2
movss dword [esp + 0x54], xmm1
movss dword [esp + 0xb4], xmm1
movss dword [esp + 0x34], xmm0
movss dword [esp + 0xb8], xmm0
mov ecx, dword [esp + 0x30]
cmp byte [esp + 0x50], 0
je 0x10282e47
mov eax, dword [esp]
mov esi, dword [eax + 0x20]
test cl, cl
movss dword [esp + 0x50], xmm2
movss dword [esp + 0x20], xmm3
movss dword [esp + 0x5c], xmm4
je 0x10282e8a
mov esi, dword [esp + 0x118]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, esi
mov dword [esp + 8], eax
mov al, byte [esp + 0x48]
or al, byte [esp + 0x44]
je 0x10282f80
mov dword [esp + 0x4c], esi
mov edx, dword [esp]
jmp 0x10282eaa
mov al, byte [esp + 0x48]
or al, byte [esp + 0x44]
cmp al, 1
jne 0x10282f96
mov edx, dword [esp]
mov eax, dword [edx + 8]
mov dword [esp + 0x4c], esi
add eax, esi
mov dword [esp + 8], eax
mov ebx, dword [edx + 0x14]
mov dword [esp + 0x38], 0
mov esi, 0xfffffc18
mov edi, 0
mov ebp, 0xfffffc18
mov ecx, 0
cmp byte [esp + 0x48], 0
je 0x10282ee0
mov eax, dword [edx + 0x3c]
lea edi, [ebx + eax*2]
mov ecx, 1
mov ebp, 0xffffffff
cmp byte [esp + 0x44], 0
je 0x10282f01
mov eax, dword [edx + 0x40]
mov edx, dword [edx + 0x44]
cmp eax, edx
cmovl edx, eax
lea eax, [ebx + edx*2]
mov dword [esp + 0x38], eax
add ecx, 1
mov esi, 0xffffffff
mov edx, ebx
mov eax, dword [esp + 0x18]
shr eax, 0x14
add eax, ecx
xor ebx, ebx
mov dword [esp + 0x94], edx
mov ecx, edx
jmp 0x10282f2c
test dx, dx
je 0x10283016
add ecx, 2
movzx edx, word [ecx]
cmp dx, 0xa
jne 0x10282f20
add ebx, 1
cmp ebp, 0xffffffff
jne 0x10282f60
mov ebp, 0xffffffff
cmp ecx, edi
jb 0x10282f60
cmp eax, 2
jl 0x10283010
add eax, 0xffffffff
mov ebp, ebx
nop word cs:[eax + eax]
nop
cmp esi, 0xffffffff
jne 0x10282f29
mov esi, 0xffffffff
cmp ecx, dword [esp + 0x38]
jb 0x10282f29
cmp eax, 2
jl 0x10283014
add eax, 0xffffffff
mov esi, ebx
jmp 0x10282f29
xorps xmm1, xmm1
xorps xmm0, xmm0
cmp dword [esp + 0x18], 0
mov ecx, dword [esp + 0x30]
jne 0x10282fa1
jmp 0x102832a7
cmp dword [esp + 0x18], 0
je 0x10282ff9
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x40]
lea esi, [eax - 1]
xor ecx, ecx
nop word [eax + eax]
mov eax, ecx
movzx edx, byte [esi + 1]
add esi, 1
xor ecx, ecx
cmp dl, 0xa
sete cl
add ecx, eax
test dl, dl
jne 0x10282fb0
mov dword [esp + 8], esi
add eax, 1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
xor esi, esi
mulss xmm1, dword [edi + 0x18d0]
movss xmm0, dword [esp + 0x10]
cmp dword [esp + 0x18], 0
mov ecx, dword [esp + 0x30]
je 0x102832a7
jmp 0x102832c9
cmp dword [edi + 0x19f0], ebp
jne 0x1028328a
mov eax, dword [esp]
mov eax, dword [eax + 8]
jmp 0x10283297
mov ebp, ebx
jmp 0x10283016
mov esi, ebx
push dword [esp + 0x94]
push edi
call fcn.10237540
add esp, 8
mov edx, dword [0x1042dd60]
mov ecx, dword [edx + 0x18cc]
movss xmm0, dword [edx + 0x18d0]
lea edx, [ecx + 0xc]
mov dword [esp + 0x40], edx
movss xmm7, dword [0x103564b8]
movaps xmm1, xmm7
mov dword [esp + 0x10], ecx
divss xmm1, dword [ecx + 0x10]
xorps xmm3, xmm3
xorps xmm4, xmm4
nop dword [eax + eax]
cmp eax, edi
jae 0x102830af
movzx edx, word [eax]
add eax, 2
cmp edx, 0xd
je 0x10283060
cmp dx, 0xa
je 0x102830a9
lea ecx, [edx*4]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x10]
add ecx, dword [ebp + 8]
mov ebp, dword [esp + 0x10]
cmp dword [ebp], edx
mov ebp, dword [esp + 0x1c]
cmovle ecx, dword [esp + 0x40]
movss xmm2, dword [ecx]
mulss xmm2, xmm0
mulss xmm2, xmm1
addss xmm4, xmm2
jmp 0x10283060
maxss xmm3, xmm4
jmp 0x10283058
movss dword [esp + 0x98], xmm3
add ebx, 1
cmp ebp, 0xffffffff
cmove ebp, ebx
cmp esi, 0xffffffff
cmove esi, ebx
mov ecx, dword [esp + 0xc]
movss xmm6, dword [ecx + 0x18d0]
xorps xmm0, xmm0
movss dword [esp + 0x10], xmm0
movaps xmm5, xmm6
xorps xmm0, xmm0
movss dword [esp + 0xbc], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x40], xmm0
test esi, esi
js 0x102831ca
push dword [esp + 0x94]
push dword [esp + 0x3c]
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x44], xmm6
call fcn.10237540
movss xmm7, dword [0x103564b8]
movss xmm6, dword [esp + 0x44]
movss xmm4, dword [esp + 0x34]
add esp, 8
mov edx, dword [0x1042dd60]
mov ecx, dword [edx + 0x18cc]
movss xmm0, dword [edx + 0x18d0]
lea edx, [ecx + 0xc]
mov dword [esp + 0x40], edx
movss xmm2, dword [0x103564b8]
divss xmm2, dword [ecx + 0x10]
xorps xmm1, xmm1
xorps xmm5, xmm5
nop dword [eax]
cmp eax, dword [esp + 0x38]
jae 0x102831a0
movzx edi, word [eax]
add eax, 2
cmp edi, 0xd
je 0x10283160
cmp di, 0xa
je 0x1028319a
lea edx, [edi*4]
add edx, dword [ecx + 8]
cmp dword [ecx], edi
cmovle edx, dword [esp + 0x40]
movss xmm3, dword [edx]
mulss xmm3, xmm0
mulss xmm3, xmm2
addss xmm5, xmm3
jmp 0x10283160
maxss xmm1, xmm5
jmp 0x1028315a
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
maxss xmm5, xmm1
movss dword [esp + 0xbc], xmm5
mov ecx, dword [esp + 0xc]
movss xmm5, dword [ecx + 0x18d0]
mulss xmm0, xmm5
movss dword [esp + 0x40], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ebp
cmp dword [esp + 0x18], 0
jne 0x102831dd
xorps xmm5, xmm5
jmp 0x102831f7
xorps xmm1, xmm1
cvtsi2ss xmm1, ebx
mulss xmm5, xmm1
movss xmm1, dword [esp + 0xac]
movss dword [esp + 0x10], xmm1
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x58]
mov esi, dword [esp]
maxss xmm4, dword [esp + 0x98]
mulss xmm6, xmm0
cmp byte [esp + 0x48], 0
movss dword [esp + 0x2c], xmm4
movss dword [esp + 0x1c], xmm5
movss dword [esp + 0x3c], xmm6
je 0x10283275
cmp byte [esi + 0xe64], 0
je 0x10283275
test eax, 0x1000
jne 0x1028327e
movss xmm1, dword [esp + 0xac]
movss xmm0, dword [0x103577e0]
mulss xmm0, xmm1
movss xmm3, dword [esi + 0x38]
ucomiss xmm4, xmm3
jae 0x1028333f
movaps xmm1, xmm4
subss xmm1, xmm0
xorps xmm0, xmm0
maxss xmm0, xmm1
cvttps2dq xmm0, xmm0
jmp 0x10283353
mov ecx, dword [esp + 0x30]
jmp 0x102833ce
mov dword [esi + 0x38], 0
jmp 0x1028335b
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [esp + 0x34]
add esp, 4
add eax, esi
mov dword [esp + 8], eax
xorps xmm1, xmm1
xorps xmm0, xmm0
mov dword [esp + 0x40], esi
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x40]
sub eax, esi
cmp eax, 0x1fffff
jg 0x1028392c
lea esi, [esp + 0xcc]
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x1c], xmm1
movzx eax, cl
push 0x3f800000
push eax
call fcn.10238210
add esp, 8
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x27c]
movss xmm0, dword [edi + 0x18d0]
mov edx, dword [edi + 0x18cc]
sub esp, 0x20
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x60]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0xd4]
mov dword [esp + 8], eax
movss dword [esp + 4], xmm0
mov dword [esp], edx
mov dword [esp + 0x18], 0
call fcn.1025d970
movss xmm4, dword [esp + 0x1c]
jmp 0x1028391f
movaps xmm2, xmm4
subss xmm2, xmm1
ucomiss xmm2, xmm3
jb 0x1028335b
addss xmm2, xmm0
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x38], xmm0
cmp dword [esp + 0x18], 0
je 0x10283384
movss xmm0, dword [edx + 0x54]
movaps xmm1, xmm6
subss xmm1, dword [ecx + 0x18d0]
ucomiss xmm1, xmm0
jae 0x1028338a
xorps xmm2, xmm2
maxss xmm1, xmm2
mov ecx, dword [esp + 0x30]
jmp 0x102833a5
mov ecx, dword [esp + 0x30]
jmp 0x102833c7
movaps xmm2, xmm6
subss xmm2, dword [esp + 0xb0]
ucomiss xmm2, xmm0
movaps xmm1, xmm0
mov ecx, dword [esp + 0x30]
jb 0x102833a5
movaps xmm1, xmm2
subss xmm0, xmm1
movss xmm2, dword [esp + 0x34]
addss xmm2, xmm0
movss dword [esp + 0x34], xmm2
movss dword [esp + 0xb8], xmm2
movss dword [edx + 0x54], xmm1
mov byte [esi + 0xe64], 0
movss xmm0, dword [esi + 0x38]
movss dword [esp + 0x38], xmm0
cmp byte [esp + 0x44], 0
je 0x1028369d
mov eax, dword [esp]
mov esi, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
cmp esi, eax
mov edi, eax
cmovl edi, esi
cmovl esi, eax
cmp byte [esp + 0x48], 0
jne 0x10283406
movss xmm7, dword [0x1035a738]
sub esp, 8
movss dword [esp + 4], xmm7
mov dword [esp], 0x2a
call fcn.10238210
add esp, 8
mov ebx, eax
xorps xmm0, xmm0
movss dword [esp + 0x98], xmm0
xorps xmm0, xmm0
movss dword [esp + 0xc0], xmm0
cmp dword [esp + 0x18], 0
jne 0x10283450
movss xmm0, dword [0x103564bc]
movss dword [esp + 0xc0], xmm0
mov ecx, dword [esp + 0x30]
movss xmm6, dword [esp + 0x20]
movss xmm7, dword [esp + 0x5c]
movss xmm4, dword [esp + 0x40]
movss xmm5, dword [esp + 0xbc]
jne 0x10283482
movss xmm0, dword [0x1035735c]
movss dword [esp + 0x98], xmm0
cmp edi, esi
jge 0x1028369d
mov eax, dword [esp + 0x94]
lea esi, [eax + esi*2]
addss xmm5, dword [esp + 0x54]
addss xmm4, dword [esp + 0x34]
lea ebp, [eax + edi*2]
mov eax, dword [esp + 0xc]
movss xmm0, dword [eax + 0x18d0]
jmp 0x102834d2
mov ecx, dword [esp + 0x30]
nop word cs:[eax + eax]
nop
addss xmm4, xmm0
movss xmm5, dword [esp + 0x54]
cmp ebp, esi
jae 0x1028369d
movaps xmm1, xmm0
addss xmm1, xmm7
ucomiss xmm4, xmm1
ja 0x1028369d
ucomiss xmm4, xmm6
jae 0x10283504
nop word [eax + eax]
cmp ebp, esi
jae 0x102834c0
lea eax, [ebp + 2]
cmp word [ebp], 0xa
mov ebp, eax
jne 0x102834f0
mov ebp, eax
jmp 0x102834c0
subss xmm5, dword [esp + 0x38]
mov ecx, dword [0x1042dd60]
mov eax, dword [ecx + 0x18cc]
movss xmm1, dword [ecx + 0x18d0]
movss dword [esp + 0x44], xmm1
lea ecx, [eax + 0xc]
movss xmm3, dword [0x103564b8]
divss xmm3, dword [eax + 0x10]
xorps xmm1, xmm1
mov edi, dword [esp + 0xc]
nop dword [eax + eax]
cmp ebp, esi
jae 0x1028358c
movzx edx, word [ebp]
add ebp, 2
cmp edx, 0xd
je 0x10283540
cmp dx, 0xa
je 0x10283597
lea edi, [edx*4]
add edi, dword [eax + 8]
cmp dword [eax], edx
cmovle edi, ecx
movaps xmm2, xmm7
movaps xmm6, xmm5
movaps xmm5, xmm4
movss xmm4, dword [edi]
mov edi, dword [esp + 0xc]
mulss xmm4, dword [esp + 0x44]
mulss xmm4, xmm3
addss xmm1, xmm4
movaps xmm4, xmm5
movaps xmm5, xmm6
jmp 0x10283540
ucomiss xmm1, dword [0x103574f0]
ja 0x1028359f
jmp 0x102835a8
maxss xmm1, dword [0x103574f0]
ucomiss xmm1, dword [0x103574f0]
ja 0x102835d0
mov eax, dword [edi + 0x18cc]
mov ecx, dword [eax + 8]
sub ecx, 0xffffff80
lea edx, [eax + 0xc]
cmp dword [eax], 0x21
cmovge edx, ecx
movss xmm1, dword [edx]
mulss xmm1, dword [0x103574f4]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
movaps xmm3, xmm4
addss xmm3, dword [esp + 0x98]
addss xmm1, xmm5
movaps xmm2, xmm4
addss xmm2, dword [esp + 0xc0]
subss xmm2, xmm0
movss xmm6, dword [esp + 0x20]
maxss xmm2, xmm6
maxss xmm5, dword [esp + 0x50]
movss dword [esp + 0x64], xmm5
movss dword [esp + 0x68], xmm2
minss xmm3, xmm7
minss xmm1, dword [esp + 0x14]
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x70], xmm3
ucomiss xmm6, xmm3
jae 0x102834b1
ucomiss xmm7, xmm2
mov ecx, dword [esp + 0x30]
jbe 0x102834c0
movss xmm2, dword [esp + 0x50]
ucomiss xmm2, xmm1
jae 0x102834c0
movss xmm1, dword [esp + 0x14]
ucomiss xmm1, xmm5
jbe 0x102834c0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x27c]
push 0xf
push 0
push ebx
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x74]
push eax
movss dword [esp + 0x54], xmm4
call fcn.1025cb20
movss xmm4, dword [esp + 0x40]
movss xmm7, dword [esp + 0x5c]
movss xmm6, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
movss xmm0, dword [edi + 0x18d0]
jmp 0x102834c0
xor esi, esi
cmp dword [esp + 0x18], 0
mov edi, dword [esp + 0xc]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
jne 0x102836d4
mov eax, dword [esp + 8]
mov esi, dword [esp + 0x4c]
sub eax, esi
cmp eax, 0x1fffff
movss xmm0, dword [esp + 0x10]
jg 0x10283759
lea esi, [esp + 0xcc]
movzx eax, cl
push 0x3f800000
push eax
call fcn.10238210
add esp, 8
mov ecx, dword [ebx + 0x27c]
movss xmm0, dword [esp + 0x54]
subss xmm0, dword [esp + 0x38]
movss dword [esp + 0x64], xmm0
movss xmm0, dword [esp + 0x34]
movss dword [esp + 0x68], xmm0
movss xmm0, dword [edi + 0x18d0]
mov edx, dword [edi + 0x18cc]
sub esp, 0x20
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0x84]
mov dword [esp + 8], eax
movss dword [esp + 4], xmm0
mov dword [esp], edx
mov dword [esp + 0x18], 0
call fcn.1025d970
movss xmm0, dword [esp + 0x10]
cmp byte [esp + 0x48], 0
je 0x1028395e
mov eax, dword [esp]
movss xmm0, dword [eax + 0xe60]
addss xmm0, dword [edi + 0x18]
movss dword [eax + 0xe60], xmm0
cmp byte [edi + 0xb2], 0
mov al, 1
movss xmm4, dword [esp + 0x1c]
je 0x102837d7
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x102837d7
sub esp, 0x10
movsd xmm1, qword [0x10362680]
movsd qword [esp + 8], xmm1
cvtss2sd xmm0, xmm0
movsd qword [esp], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll_fmod
movss xmm4, dword [esp + 0x2c]
add esp, 0x10
fstp dword [esp + 0xdc]
movss xmm0, dword [esp + 0xdc]
ucomiss xmm0, dword [0x1035a5c8]
setbe al
movss xmm1, dword [esp + 0x34]
addss xmm1, dword [esp + 0x3c]
movss xmm3, dword [esp + 0x2c]
subss xmm3, dword [esp + 0x38]
addss xmm3, dword [esp + 0x54]
movss xmm5, dword [0x10362688]
addss xmm5, xmm1
movss xmm0, dword [0x103564b8]
movss dword [esp + 0x34], xmm1
subss xmm1, dword [edi + 0x18d0]
addss xmm0, xmm3
addss xmm1, dword [0x103574f4]
movss dword [esp + 0x64], xmm3
movss dword [esp + 0x68], xmm1
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x70], xmm5
test al, al
je 0x102838ec
ucomiss xmm5, dword [esp + 0xd0]
jbe 0x102838ec
movss xmm2, dword [esp + 0xd8]
ucomiss xmm2, xmm1
jbe 0x102838ec
movss xmm1, dword [esp + 0xcc]
ucomiss xmm1, xmm0
jae 0x102838ec
movss xmm0, dword [esp + 0xd4]
ucomiss xmm0, xmm3
jbe 0x102838ec
mov eax, dword [esp + 0x58]
mov ebx, dword [eax + 0x27c]
push 0x3f800000
push 0
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x40], xmm5
call fcn.10238210
add esp, 8
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0xc4], xmm0
movss xmm0, dword [esp + 0x38]
movss dword [esp + 0xc8], xmm0
lea edx, [esp + 0xc4]
lea esi, [esp + 0x64]
mov ecx, ebx
push 0x3f800000
push eax
push edx
push esi
mov esi, dword [esp + 0x5c]
call fcn.1025c870
movss xmm4, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x2c]
test dword [esp + 0x128], 0x4000
jne 0x1028391f
movss xmm0, dword [esp + 0x34]
subss xmm0, dword [edi + 0x18d0]
addss xmm3, dword [0x103564bc]
movss dword [edi + 0x2d04], xmm3
movss dword [edi + 0x2d08], xmm0
movss xmm0, dword [esp + 0x10]
cmp dword [esp + 0x18], 0
jne 0x1028396b
cmp byte [esp + 0x63], 0
je 0x10283a08
cmp byte [edi + 0x2d40], 0
je 0x10283a0d
lea eax, [esp + 0xb4]
push dword [esp + 8]
push esi
push eax
call fcn.10239d50
add esp, 0xc
jmp 0x10283a0d
movss xmm4, dword [esp + 0x1c]
cmp dword [esp + 0x18], 0
je 0x1028392c
addss xmm4, dword [edi + 0x18d0]
movss dword [esp + 0xc4], xmm0
movss dword [esp + 0xc8], xmm4
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x19b4]
mov byte [ecx + 0x7c], 1
mov eax, dword [eax + 0x19b4]
cmp byte [eax + 0x7f], 0
jne 0x102839f3
addss xmm4, dword [eax + 0xcc]
addss xmm0, dword [eax + 0xc8]
mov ecx, dword [eax + 0xc8]
mov eax, dword [eax + 0xcc]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0x70], xmm4
lea eax, [esp + 0xc4]
push 0
push eax
call fcn.1023c800
add esp, 8
lea eax, [esp + 0x64]
push 0
push 0
push eax
call fcn.1023ca80
add esp, 0xc
call fcn.10248a50
call fcn.10251880
cmp byte [esp + 0x63], 0
jne 0x10283937
call fcn.1024edb0
xorps xmm0, xmm0
ucomiss xmm0, dword [esp + 0xe8]
jae 0x10283a65
movss xmm0, dword [edi + 0x1554]
addss xmm0, dword [esp + 0xa0]
movss xmm1, dword [esp + 0xf0]
sub esp, 0x14
mov eax, dword [esp + 0x128]
mov dword [esp + 8], eax
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
call fcn.10239ba0
add esp, 0x14
test dword [esp + 0x128], 0x200000
sete al
and al, byte [esp + 0x24]
cmp al, 1
jne 0x10283a84
push ebp
call fcn.1023c7e0
add esp, 4
xor eax, eax
cmp byte [esp + 4], 0
setne al
mov ecx, dword [esp + 0x128]
test cl, 0x20
movzx ecx, byte [esp + 0x24]
cmove eax, ecx
jmp 0x10280c48
mov eax, dword [0x1042dd60]
mov edx, edi
mov ecx, dword [eax + 0x40]
test ecx, ecx
js 0x10283b06
mov edi, edx
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10283aff
cmp dword [esp + 0x18], 0
je 0x10283aff
mov eax, dword [esp + 0x5c]
cmp byte [eax], 0
je 0x10283be6
mov eax, dword [esp + 0x58]
movss xmm0, dword [eax + 0x54]
mov edi, dword [esp + 0xc]
subss xmm0, dword [edi + 0x18d0]
xorps xmm1, xmm1
maxss xmm1, xmm0
sub esp, 8
movss dword [esp + 4], xmm1
jmp 0x10283b65
mov eax, dword [0x1042dd60]
mov edx, edi
mov ecx, dword [eax + 0x44]
test ecx, ecx
js 0x10283b8b
mov edi, edx
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10283b86
cmp dword [esp + 0x18], 0
je 0x10283b86
mov eax, dword [esp + 0x5c]
cmp byte [eax], 0
je 0x10283c2e
call fcn.102509e0
fstp dword [esp + 0xe0]
mov edi, dword [esp + 0xc]
movss xmm0, dword [edi + 0x18d0]
mov eax, dword [esp + 0x58]
addss xmm0, dword [eax + 0x54]
minss xmm0, dword [esp + 0xe0]
sub esp, 8
movss dword [esp + 4], xmm0
mov dword [esp], eax
call fcn.10250a70
add esp, 8
xor ebx, ebx
mov dword [esp + 4], 0
mov eax, dword [esp + 8]
mov edx, dword [esp]
jmp 0x1028261a
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x50]
test ecx, ecx
js 0x10283bbb
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10283bb6
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax]
add eax, eax
or eax, ebp
or eax, 0x10004
jmp 0x102825fb
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x54]
test ecx, ecx
js 0x10283bff
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10283bfa
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax]
add eax, eax
or eax, ebp
or eax, 0x10005
jmp 0x102825fb
mov eax, edi
movzx eax, al
shl eax, 2
or eax, ebp
or eax, 0x10002
jmp 0x102825fb
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x5c]
test ecx, ecx
js 0x10283c47
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10283c42
mov eax, dword [esp + 0x128]
and eax, 0x4000
jne 0x10283c42
or ebp, 0x10008
jmp 0x10283cc3
mov eax, edi
movzx eax, al
shl eax, 2
or eax, ebp
or eax, 0x10003
jmp 0x102825fb
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x60]
test ecx, ecx
js 0x10283cd3
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10283cce
mov eax, dword [esp + 0x128]
and eax, 0x4000
jne 0x10283cce
mov ecx, dword [esp]
mov eax, dword [ecx + 0x40]
cmp eax, dword [ecx + 0x44]
jne 0x10283cbd
mov eax, 0x3000c
cmp byte [esp + 0x34], 0
je 0x10283cb4
cmp byte [esp + 0x94], 0
je 0x10283cbd
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xff], 0
je 0x10283cbd
mov eax, dword [esp + 0x4c]
cmp byte [eax], 0
jne 0x10283cbd
mov eax, dword [esp + 0x5c]
cmp byte [eax], 0
jne 0x10283cbd
mov eax, 0x30004
mov ecx, dword [esp]
push eax
call fcn.10284b10
or ebp, 0x10009
mov edi, dword [esp]
mov ecx, edi
push ebp
jmp 0x10282601
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x68]
test ecx, ecx
mov ebp, dword [esp + 0x12c]
js 0x10283cf5
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
jne 0x10283d13
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x70]
test ecx, ecx
js 0x10283ddf
push 1
push ecx
call fcn.102475d0
add esp, 8
test al, al
je 0x10283dda
cmp dword [esp + 0x18], 0
je 0x10283dd0
mov eax, dword [esp + 0x5c]
mov cl, byte [eax]
test dword [esp + 0x128], 0x800
jne 0x10283ed2
xor ebx, ebx
movzx edx, byte [esp + 8]
mov eax, 1
test cl, cl
cmove eax, edx
jne 0x10283ffe
mov edx, dword [esp + 0x128]
mov dword [esp + 4], ecx
and edx, 0x4000
jmp 0x10283efe
mov dword [esp + 0x2c], 0
test dl, dl
je 0x10283f54
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0
mov edx, edi
jmp 0x102822c3
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x58]
test eax, eax
js 0x10283dae
mov dword [esp + 0x1c], 0
xor edi, edi
xor ebp, ebp
mov dword [esp + 4], 0
jmp 0x1028233f
mov dword [esp + 0x3c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 4], 0
mov edx, 0
jmp 0x1028213d
mov al, 1
mov dword [esp + 4], eax
xor ebx, ebx
jmp 0x10283dff
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x6c]
test eax, eax
js 0x10283e0d
push 1
push eax
call fcn.102475d0
add esp, 8
test al, al
je 0x10283e0d
mov bl, 1
mov dword [esp + 4], 0
mov al, 1
mov edi, dword [esp + 0xc]
mov edx, dword [esp]
jmp 0x10282621
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
or cl, al
cmp cl, 1
jne 0x10283e51
movzx eax, al
xor eax, 0x1000b
mov edi, dword [esp]
mov ecx, edi
push eax
call fcn.10284b10
mov edx, edi
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x44], eax
mov dword [edi + 0x40], eax
xor ebx, ebx
mov dword [esp + 4], 0
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp 0x10282621
cmp byte [esp + 4], 0
je 0x10283e93
mov eax, dword [0x1042dd60]
mov eax, dword [eax + 0x74]
test eax, eax
js 0x10283e93
push 1
push eax
call fcn.102475d0
add esp, 8
test al, al
je 0x10283e93
mov edx, dword [esp]
mov dword [edx + 0x40], 0
mov eax, dword [edx + 4]
mov dword [edx + 0x44], eax
mov dword [edx + 0x3c], eax
mov byte [edx + 0x4b], 0
mov byte [edx + 0xe64], 1
jmp 0x10283e3a
mov eax, dword [esp + 0x10]
or al, byte [esp + 0x1c]
cmp al, 1
jne 0x10283f5d
mov eax, dword [esp + 0xc]
cmp dword [eax + 0xd0], 0
je 0x1028405f
mov eax, dword [esp]
mov esi, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
cmp esi, eax
jne 0x10284007
mov eax, dword [esp]
mov esi, dword [eax + 4]
xor edi, edi
jmp 0x1028400f
mov eax, ecx
xor al, 1
mov dword [esp + 4], eax
xor ebx, ebx
movzx edx, byte [esp + 8]
mov eax, 1
test cl, cl
cmovne eax, edx
je 0x10283e01
mov ecx, dword [esp + 0x128]
and ecx, 0x4000
mov edi, dword [esp + 0xc]
mov edx, dword [esp]
jne 0x10282621
mov dword [esp + 0x64], 0xa
lea ecx, [esp + 0x64]
mov edx, dword [esp + 0x128]
push dword [esp + 0x130]
push ebp
call fcn.10286200
add esp, 8
test al, al
je 0x10283f3e
mov ecx, dword [esp]
push dword [esp + 0x64]
call fcn.10284b10
xor ebx, ebx
mov dword [esp + 4], 0
mov eax, dword [esp + 8]
mov edx, dword [esp]
jmp 0x10282621
mov bl, 1
mov edx, edi
jmp 0x10282214
cmp byte [esp + 0x3c], 0
je 0x1028409a
call fcn.1023d3b0
test eax, eax
je 0x10284128
mov ebx, eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
add eax, eax
add eax, 2
push eax
call fcn.102373d0
add esp, 4
mov ebp, eax
cmp byte [ebx], 0
je 0x10284119
xor esi, esi
lea edi, [esp + 0x64]
jmp 0x10283faa
cmp byte [ebx], 0
je 0x102840f3
push 0
push ebx
push edi
call fcn.10236ba0
add esp, 0xc
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x102840f3
add ebx, eax
cmp ecx, 0xffff
ja 0x10283fa1
mov ecx, edi
mov edx, dword [esp + 0x128]
push dword [esp + 0x130]
push dword [esp + 0x130]
call fcn.10286200
add esp, 8
test al, al
je 0x10283fa1
movzx eax, word [esp + 0x64]
mov word [ebp + esi*2], ax
add esi, 1
jmp 0x10283fa1
mov dword [esp + 4], ecx
jmp 0x10283e01
mov edi, eax
cmovl edi, esi
cmovl esi, eax
mov eax, dword [esp]
mov eax, dword [eax + 0x14]
lea ecx, [eax + esi*2]
lea eax, [eax + edi*2]
push ecx
push eax
call fcn.10237e90
add esp, 8
mov ebp, eax
add ebp, 1
push ebp
call fcn.102373d0
add esp, 4
mov ebx, eax
mov eax, dword [esp]
mov eax, dword [eax + 0x14]
lea ecx, [eax + esi*2]
lea eax, [eax + edi*2]
push ecx
push eax
push ebp
push ebx
call fcn.10237d50
add esp, 0x10
push ebx
call fcn.1023d3e0
add esp, 4
push ebx
call fcn.102374a0
add esp, 4
cmp byte [esp + 0x1c], 0
je 0x1028409a
mov eax, dword [esp]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
cmp ecx, eax
jne 0x1028408c
mov ecx, dword [esp]
mov dword [ecx + 0x40], 0
mov eax, dword [ecx + 4]
mov dword [ecx + 0x44], eax
mov dword [ecx + 0x3c], eax
mov byte [ecx + 0x4b], 0
xor ecx, ecx
mov edx, dword [esp]
mov byte [edx + 0xe64], 1
cmp ecx, eax
jne 0x102840c2
mov dword [esp + 4], 0
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x11c]
mov edx, dword [esp]
mov ebp, dword [esp + 0x12c]
xor ebx, ebx
jmp 0x10282621
mov esi, dword [esp]
lea edx, [esi + 0x3c]
mov ecx, esi
call fcn.10290b50
mov edx, esi
mov byte [esi + 0x4b], 0
xor ebx, ebx
mov dword [esp + 4], 0
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x11c]
jmp 0x1028261a
mov word [ebp + esi*2], 0
test esi, esi
jle 0x1028411f
mov edi, dword [esp]
lea edx, [edi + 0x3c]
mov ecx, edi
push esi
push ebp
call fcn.10286350
add esp, 8
mov byte [edi + 0xe64], 1
jmp 0x1028411f
mov word [ebp], 0
push ebp
call fcn.102374a0
add esp, 4
xor ebx, ebx
mov dword [esp + 4], 0
mov eax, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x11c]
jmp 0x10283b7e
call fcn.1002e220
nop dword [eax + eax]