Function at 0x100d45b0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100e5435
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2a8
mov eax, dword [0x100f5008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebx + 8]
xor eax, eax
lea edi, [ecx + 8]
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x200], eax
mov eax, dword [edi]
mov dword [ebp - 0x1f4], ecx
mov ecx, edi
mov dword [ebp - 0x238], edi
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [0x10123594]
mov ecx, dword [0x101233ac]
add edx, 0xffffffd6
mov dword [ebp - 0x1f0], eax
xor edx, 0x920a48dc
lea esi, [eax*4 + 0x10126db4]
mov eax, dword [ebp - 0x1f4]
movss xmm0, dword [ecx + 0x14]
mulss xmm0, dword [0x100e9c20]
mov ecx, dword [edx + eax]
mov eax, dword [0x100f5024]
movss dword [ebp - 0x18], xmm0
cmp ecx, dword [edx + eax]
je 0x100d466a
mov byte [ebp - 0x1e9], 1
jmp 0x100d4680
mov ecx, dword [0x1012342c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test eax, eax
setne byte [ebp - 0x1e9]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
cmp byte [0x100fbbe8], 0
mov dl, al
mov dh, byte [ebp - 0x1e9]
je 0x100d46c8
test dh, dh
je 0x100d46c8
test dl, dl
jne 0x100d46db
mov eax, dword [0x10123614]
mov ecx, dword [ebp - 0x1f4]
add eax, 0xffffffb6
xor eax, 0x920a48fd
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0x1f0]
mov byte [eax + 0x10126d77], 1
jmp 0x100d46ee
test dl, dl
jne 0x100d46db
mov eax, dword [ebp - 0x1f0]
mov byte [eax + 0x10126d77], 1
jmp 0x100d46ee
mov eax, dword [ebp - 0x1f0]
cmp byte [eax + 0x10126d77], 0
je 0x100d6a4f
movss xmm0, dword [esi]
test dl, dl
je 0x100d46fd
subss xmm0, dword [ebp - 0x18]
jmp 0x100d4702
addss xmm0, dword [ebp - 0x18]
movss dword [esi], xmm0
test dh, dh
je 0x100d4717
cmp byte [0x100f9cd4], 0
je 0x100d4717
mov dh, 1
jmp 0x100d4719
xor dh, dh
movss xmm0, dword [esi]
lea ecx, [ebp - 0x2ac]
comiss xmm0, dword [0x100e9bc4]
mov dword [ebp - 0x2ac], 0x3f800000
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
xorps xmm2, xmm2
cmovbe ecx, esi
movss xmm0, dword [ecx]
comiss xmm0, xmm2
cmova eax, ecx
movss xmm1, dword [eax]
ucomiss xmm1, xmm2
movss dword [esi], xmm1
lahf
test ah, 0x44
jp 0x100d4767
test dh, dh
je 0x100d6a4f
mov ecx, dword [0x101235f0]
mov eax, dword [0x101233ac]
add ecx, 0xffffffbf
mov esi, dword [ebp - 0x1f4]
xor ecx, 0x920a48f4
movss xmm2, dword [eax + 0x10]
subss xmm2, dword [ecx + esi]
test dl, dl
je 0x100d479c
comiss xmm2, dword [0x100e9c5c]
ja 0x100d6a4f
cmp byte [ebp - 0x1e9], 0
movaps xmm0, xmm1
mulss xmm1, dword [0x100e9d1c]
mulss xmm0, dword [0x100e9d30]
cvttss2si eax, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x20c], eax
mov eax, dword [0x100f9c60]
cmovne eax, dword [0x100f9bd0]
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x208], ecx
test dl, dl
je 0x100d485f
test dh, dh
je 0x100d485f
movss xmm0, dword [0x100e9c44]
mov ecx, 0x70
comiss xmm2, xmm0
mov dword [ebp - 0x208], ecx
mov dword [ebp - 0x20c], 0x50
jbe 0x100d4849
subss xmm2, xmm0
movss xmm0, dword [0x100e9cf4]
movaps xmm1, xmm2
mulss xmm2, dword [0x100e9c70]
mulss xmm1, dword [0x100e9c8c]
subss xmm0, xmm1
cvttss2si ecx, xmm0
movss xmm0, dword [0x100e9cd8]
subss xmm0, xmm2
mov dword [ebp - 0x208], ecx
cvttss2si eax, xmm0
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x1f8], 0xff707070
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x24c], eax
mov byte [ebp - 0x249], cl
lea edx, [ebp - 0x1e8]
mov ecx, dword [0x1012334c]
push edx
push dword [ebp - 0x1f0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100d6a4f
push dword [ebp - 0x208]
push esi
call fcn.100d4190
lea eax, [ebp - 0x248]
push eax
push esi
call fcn.100d7040
test al, al
je 0x100d6a4f
cmp byte [ebp - 0x1e9], 0
lea edx, [ebp - 0x18]
push dword [0x100fa54c]
lea ecx, [ebp - 0x204]
push dword [0x100fa548]
je 0x100d48e1
mov dword [ebp - 0x18], 0
call fcn.10025fa0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fa54c]
jne 0x100d48fa
jmp 0x100d490f
mov dword [ebp - 0x18], 1
call fcn.10025fa0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100fa54c]
je 0x100d493f
push dword [ebp - 0x208]
push esi
call fcn.100d7550
cmp byte [ebp - 0x1e9], 0
je 0x100d493f
push dword [0x100f9b3c]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100f9b38]
lea ecx, [ebp - 0x204]
call fcn.10025fa0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100f9b3c]
jne 0x100d496d
jmp 0x100d49b1
push dword [0x100f9b3c]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100f9b38]
lea ecx, [ebp - 0x204]
call fcn.10025fa0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100f9b3c]
je 0x100d49e4
mov edx, dword [ebp - 0x244]
push ecx
mov ecx, dword [ebp - 0x20c]
mov eax, esp
push dword [ebp - 0x24c]
push dword [ebp - 0x23c]
mov byte [eax + 3], cl
push dword [ebp - 0x240]
mov ecx, dword [ebp - 0x248]
mov word [eax], 0xa0a
mov byte [eax + 2], 0xa
call fcn.100ca940
add esp, 0x10
cmp byte [ebp - 0x1e9], 0
je 0x100d49e4
push dword [0x100f9ea4]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100f9ea0]
lea ecx, [ebp - 0x204]
call fcn.10025fa0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100f9ea4]
jne 0x100d4a16
jmp 0x100d4cca
push dword [0x100f9ea4]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100f9ea0]
lea ecx, [ebp - 0x204]
call fcn.10025fa0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100f9ea4]
je 0x100d4d73
lea eax, [ebp - 0x1d8]
push eax
lea ecx, [ebp - 0x78]
call fcn.10025860
lea eax, [ebp - 0x204]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x78]
call fcn.10046260
lea ecx, [ebp - 0x78]
mov esi, dword [eax]
lea eax, [ebp - 0x18]
push eax
call fcn.10046240
lea ecx, [ebp - 0x78]
mov edx, dword [eax]
lea eax, [ebp - 0x1f0]
push eax
call fcn.10046260
push esi
push edx
mov edx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
lea ecx, [ebp - 0x24c]
push dword [eax]
call fcn.10046650
add esp, 0xc
cmp dword [ebp - 0x68], 0xc
jbe 0x100d4aad
push 0
push 0xc
lea ecx, [ebp - 0x78]
call fcn.10031a90
mov eax, dword [0x100f9f38]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x208]
mov byte [ebp - 0x20d], al
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x1f8], 0x2e2e2e
jmp 0x100d4ad1
mov eax, dword [0x100f9f38]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x208]
mov byte [ebp - 0x20d], al
lea eax, [ebp - 0x1ea]
mov byte [ebp - 0x1ea], 0
push eax
lea ecx, [ebp - 0x78]
call fcn.10037550
mov esi, dword [ebp - 0x244]
mov ecx, eax
mov eax, dword [ebp - 0x240]
sub esi, dword [0x10126c98]
push 2
cdq
push ecx
push dword [ebp - 0x210]
sub eax, edx
mov ecx, 0x10126c90
sar eax, 1
add eax, dword [ebp - 0x248]
push esi
push eax
mov dword [ebp - 0x1f0], eax
call fcn.100cb340
mov ecx, dword [0x10123350]
mov eax, dword [0x10123670]
add eax, 0xffffff9f
mov byte [ebp - 0x1ea], 0
xor eax, 0x920a4914
mov edx, dword [ecx]
add eax, dword [ebp - 0x1f4]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
test eax, eax
je 0x100d4cae
mov ecx, dword [0x10123350]
mov eax, dword [0x10123670]
add eax, 0xffffff9f
xor eax, 0x920a4914
mov edx, dword [ecx]
add eax, dword [ebp - 0x1f4]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d4cae
mov ecx, dword [0x10123350]
mov eax, dword [0x10123670]
add eax, 0xffffff9f
xor eax, 0x920a4914
mov edx, dword [ecx]
add eax, dword [ebp - 0x1f4]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov eax, dword [eax + 0xc8]
cmp eax, 7
je 0x100d4bcc
test eax, eax
je 0x100d4bcc
cmp eax, 9
jne 0x100d4bd3
mov byte [ebp - 0x1ea], 1
mov eax, dword [0x10123510]
mov edx, dword [ebp - 0x1f4]
mov ecx, dword [eax + edx]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, dword [0x100e9aac]
lahf
test ah, 0x44
jnp 0x100d4c30
mov esi, dword [ecx + 0x50]
mov ecx, dword [0x1012352c]
mov eax, dword [0x101234c8]
mov dword [ebp - 0x18], eax
cmp dword [ecx + edx], 0
jne 0x100d4c1c
mov eax, dword [0x101234a4]
mov ecx, edx
call eax
mov ecx, dword [0x1012352c]
mov eax, dword [ebp - 0x18]
mov edx, esi
mov esi, dword [ebp - 0x1f4]
mov ecx, dword [ecx + esi]
call eax
cmp eax, 0x3c7
je 0x100d4c39
cmp byte [ebp - 0x1ea], 0
je 0x100d4cae
mov dword [ebp - 0x30], 0xe2e0f9fa
xor eax, eax
mov dword [ebp - 0x2c], 0xeeedfee9
mov word [ebp - 0x28], 0xe9e0
mov byte [ebp - 0x26], 0xac
xor byte [ebp + eax - 0x30], 0xac
inc eax
cmp eax, 0xb
jb 0x100d4c53
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
call fcn.10025860
push 2
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x244]
sub ecx, dword [0x10126c98]
push eax
mov eax, dword [ebp - 0x208]
sub ecx, 8
movzx eax, al
shl eax, 0x18
or eax, 0x3cc896
push eax
push ecx
push dword [ebp - 0x1f0]
mov ecx, 0x10126c9c
call fcn.100cb340
lea ecx, [ebp - 0x48]
call fcn.10025810
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0xffffffff
call fcn.10025810
cmp byte [ebp - 0x1e9], 0
je 0x100d4d73
push dword [0x100f9fdc]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x100f9fd8]
lea ecx, [ebp - 0x204]
call fcn.10025fa0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100f9fdc]
jne 0x100d4da5
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x20c], eax
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
cmp byte [ebp - 0x1e9], 0
mov dword [ebp - 4], 2
movq qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x64], 0
je 0x100d4eb0
push 0x100fa080
lea ecx, [ebp - 0x2b8]
call fcn.10024e90
mov ecx, dword [ebp - 0x200]
or ecx, 8
lea edx, [ebp - 0x2b8]
or ecx, 1
jmp 0x100d4ec9
push dword [0x100f9fdc]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 1
push dword [0x100f9fd8]
lea ecx, [ebp - 0x204]
call fcn.10025fa0
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x100f9fdc]
je 0x100d4cfc
mov ecx, dword [0x101235c8]
lea eax, [ebp - 0x18]
mov esi, dword [ebp - 0x23c]
add ecx, 0xffffffc9
xor ecx, 0x920a48e9
mov dword [ebp - 0x18], 0x64
add ecx, dword [ebp - 0x1f4]
add esi, 0xfffffffe
push ecx
cmp dword [ecx], 0x64
cmovl eax, ecx
mov eax, dword [eax]
imul eax, esi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x100e9ae0]
movss dword [ebp - 0x18], xmm0
fld dword [ebp - 0x18]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov edx, dword [ebp - 0x244]
mov eax, esp
mov ecx, dword [ebp - 0x20c]
push esi
mov esi, dword [ebp - 0x248]
mov byte [eax + 3], cl
lea edx, [edx + 1]
push 2
fstp dword [ebp - 0x18]
lea ecx, [esi - 5]
mov word [eax], 0x5a5a
mov byte [eax + 2], 0x5a
call fcn.100ca900
mov ecx, dword [ebp - 0x208]
add esp, 8
mov edx, dword [ebp - 0x23c]
mov eax, esp
add edx, 0xfffffffe
mov byte [eax + 3], cl
cvttss2si ecx, dword [ebp - 0x18]
mov word [eax], 0xc896
mov byte [eax + 2], 0x32
sub edx, ecx
lea eax, [ecx + 2]
mov ecx, dword [ebp - 0x244]
push eax
push 4
lea edx, [edx + ecx]
lea ecx, [esi - 6]
call fcn.100ca900
movd xmm0, dword [ebp - 0x208]
lea ecx, [esi - 6]
cvtdq2ps xmm0, xmm0
add esp, 8
mov edx, esp
mulss xmm0, dword [0x100e9b98]
mov word [edx], 0x4646
mov byte [edx + 2], 0x46
cvttss2si eax, xmm0
mov byte [edx + 3], al
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x23c]
push eax
push 4
lea edx, [edx]
call fcn.100ca8c0
add esp, 0xc
jmp 0x100d4d08
push 0x100fa128
lea ecx, [ebp - 0x30]
call fcn.10024e90
mov ecx, dword [ebp - 0x200]
lea edx, [ebp - 0x30]
or ecx, 6
mov esi, dword [edx + 4]
mov eax, dword [edx + 8]
mov dword [ebp - 0x18], esi
mov esi, dword [edx]
mov dword [edx + 8], 0
mov dword [edx + 4], 0
mov dword [edx], 0
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x258], esi
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
mov dword [ebp - 4], 4
test cl, 2
je 0x100d4f1d
and ecx, 0xfffffffd
mov dword [ebp - 0x200], ecx
lea ecx, [ebp - 0x30]
call fcn.10024f80
mov ecx, dword [ebp - 0x200]
mov byte [ebp - 4], 5
test cl, 1
je 0x100d4f31
lea ecx, [ebp - 0x2b8]
call fcn.10024f80
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul eax, eax, 0x510
add eax, 0x101073f4
mov dword [ebp - 0x1f8], eax
cmp byte [eax + 0x4d1], 0
je 0x100d4fe1
lea eax, [ebp - 0x254]
mov dword [ebp - 0x254], 0x4241414b
push eax
lea ecx, [ebp - 0x48]
mov word [ebp - 0x250], 0x41
call fcn.10025860
mov eax, dword [ebp - 0x20c]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 6
mov byte [ebp - 0x1fd], al
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x200], 0xffff
push eax
mov byte [ebp - 0x1fe], 0xff
call fcn.100d8720
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8350
lea ecx, [ebp - 0x234]
call fcn.10025810
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10025810
mov eax, dword [ebp - 0x1f8]
cmp byte [eax + 0x4d2], 0
je 0x100d5071
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 0x45454843
push eax
lea ecx, [ebp - 0x48]
mov word [ebp - 0x28], 0x4553
mov byte [ebp - 0x26], 0
call fcn.10025860
mov eax, dword [ebp - 0x20c]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 8
mov byte [ebp - 0x1fd], al
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x200], 0xffff
push eax
mov byte [ebp - 0x1fe], 0xff
call fcn.100d8720
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8350
lea ecx, [ebp - 0x234]
call fcn.10025810
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10025810
mov eax, dword [ebp - 0x1f8]
cmp byte [eax + 0x4d3], 0
je 0x100d5112
mov dword [ebp - 0x30], 0xe9e9e4ef
xor eax, eax
mov dword [ebp - 0x2c], 0xe08ce9ff
mov dword [ebp - 0x28], 0xace7ede9
xor byte [ebp + eax - 0x30], 0xac
inc eax
cmp eax, 0xc
jb 0x100d5095
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x48]
call fcn.10025860
mov eax, dword [ebp - 0x20c]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0xa
mov byte [ebp - 0x1fd], al
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x200], 0xffff
push eax
mov byte [ebp - 0x1fe], 0xff
call fcn.100d8720
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8350
lea ecx, [ebp - 0x234]
call fcn.10025810
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10025810
mov eax, dword [ebp - 0x1f8]
push eax
mov byte [ebp - 0x1ea], 0
call fcn.100cc2f0
test eax, eax
je 0x100d51f6
mov ecx, dword [ebp - 0x1f8]
xorps xmm0, xmm0
add ecx, 8
movlpd qword [ebp - 0x2c], xmm0
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x2c]
push eax
call fcn.100ba0d0
mov eax, dword [ebp - 0x28]
cmp dword [ebp - 0x1f0], eax
je 0x100d51f6
mov edi, dword [ebp - 0x1f0]
mov esi, eax
mov eax, dword [ebp - 0x1f8]
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
mov dword [ebp - 0x1f0], edx
mov eax, dword [eax + 0x10]
dec eax
and ecx, eax
mov eax, dword [ebp - 0x1f8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x24c], eax
mov ecx, dword [eax + edx*8]
cmp byte [ecx + 0x10], 0
jne 0x100d51e1
xorps xmm0, xmm0
comiss xmm0, dword [ecx + 4]
jb 0x100d51e1
call fcn.1002aaf0
test al, al
je 0x100d51e1
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x24c]
mov eax, dword [ecx + eax*8]
cmp byte [eax + 0x3f6], 0
jne 0x100d51da
mov eax, dword [eax + 0x3f0]
cmp eax, 7
je 0x100d51da
cmp eax, 1
je 0x100d51da
test eax, eax
je 0x100d51da
cmp eax, 8
jne 0x100d51e1
mov byte [ebp - 0x1ea], 1
inc edi
cmp edi, esi
jne 0x100d5161
mov esi, dword [ebp - 0x258]
mov edi, dword [ebp - 0x238]
cmp esi, dword [ebp - 0x18]
je 0x100d6105
nop
cmp dword [esi], 0
jne 0x100d5359
cmp byte [ebp - 0x1ea], 0
jne 0x100d5359
xorps xmm0, xmm0
mov dword [ebp - 0x260], 0x454b4146
lea ecx, [ebp - 0x260]
mov byte [ebp - 0x25c], 0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5245
sub ecx, edx
lea eax, [ebp - 0x260]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10026020
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0xc
mov byte [ebp - 0x1fd], al
lea eax, [ebp - 0x48]
push eax
mov word [ebp - 0x200], 0xffff
mov byte [ebp - 0x1fe], 0xff
call fcn.10029ec0
mov eax, dword [ebp - 0x200]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d52d1
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d52e7
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x100d5321
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5317
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d5359
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d534f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
cmp dword [esi], 1
jne 0x100d548f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
lea edx, [ebp - 0x218]
mov dword [ebp - 0x218], 0x4d206925
lea ecx, [ebp - 0x48]
mov word [ebp - 0x214], 0x53
lea eax, [eax*4 + 0x101290ec]
push eax
call fcn.100b27e0
add esp, 4
mov ecx, dword [ebp - 0x208]
mov byte [ebp - 0x279], cl
lea ecx, [ebp - 0x234]
push eax
mov byte [ebp - 4], 0xe
mov word [ebp - 0x27c], 0x7832
mov byte [ebp - 0x27a], 0xff
call fcn.10029ec0
mov eax, dword [ebp - 0x27c]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d5407
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d541d
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0xe
cmp edx, 0x10
jb 0x100d5457
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d544d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d548f
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5485
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
cmp dword [esi], 2
jne 0x100d55bf
mov eax, dword [0x101235cc]
lea edx, [ebp - 0x280]
add eax, 0xffffffc8
mov dword [ebp - 0x280], 0x692524
xor eax, 0x920a48ea
lea ecx, [ebp - 0x48]
add eax, dword [ebp - 0x1f4]
push eax
call fcn.100b27e0
add esp, 4
mov ecx, dword [ebp - 0x20c]
mov byte [ebp - 0x281], cl
lea ecx, [ebp - 0x234]
push eax
mov byte [ebp - 4], 0x10
mov word [ebp - 0x284], 0xc896
mov byte [ebp - 0x282], 0x3c
call fcn.10029ec0
mov eax, dword [ebp - 0x284]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d5537
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d554d
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0x10
cmp edx, 0x10
jb 0x100d5587
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d557d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d55bf
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d55b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
cmp dword [esi], 3
mov ecx, dword [ebp - 0x1f4]
jne 0x100d5915
mov eax, dword [0x10123600]
add eax, 0xffffffbb
xor eax, 0x920a48f8
cmp byte [eax + ecx], 0
mov eax, dword [0x1012361c]
je 0x100d5884
add eax, 0xffffffb4
mov dword [ebp - 0x38], 0
xor eax, 0x920a48ff
mov dword [ebp - 0x34], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
cmp dword [eax + ecx], 0
jle 0x100d574d
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x268], 0x4d4c4548
mov byte [ebp - 0x264], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5630
sub ecx, edx
lea eax, [ebp - 0x268]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10026020
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x285], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x12
mov word [ebp - 0x288], 0xffff
mov byte [ebp - 0x286], 0xff
call fcn.10029ec0
mov eax, dword [ebp - 0x288]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d56bc
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d56d2
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0x12
cmp edx, 0x10
jb 0x100d570c
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5702
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d590f
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d573e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
jmp 0x100d590f
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x270], 0x4d4c4548
mov byte [ebp - 0x26c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5767
sub ecx, edx
lea eax, [ebp - 0x270]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10026020
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x2a5], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x14
mov word [ebp - 0x2a8], 0xffff
mov byte [ebp - 0x2a6], 0xff
call fcn.10029ec0
mov eax, dword [ebp - 0x2a8]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d57f3
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d5809
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0x14
cmp edx, 0x10
jb 0x100d5843
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5839
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d590f
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5875
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
jmp 0x100d590f
add eax, 0xffffffb4
xor eax, 0x920a48ff
cmp dword [eax + ecx], 0
jle 0x100d5915
lea eax, [ebp - 0x2a4]
mov dword [ebp - 0x2a4], 0x56454b
push eax
lea ecx, [ebp - 0x48]
call fcn.10025860
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x16
mov byte [ebp - 0x29d], al
lea eax, [ebp - 0x2a0]
push eax
lea eax, [ebp - 0x48]
mov word [ebp - 0x2a0], 0xffff
push eax
mov byte [ebp - 0x29e], 0xff
call fcn.100d8720
lea eax, [ebp - 0x234]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8350
lea ecx, [ebp - 0x234]
call fcn.10025810
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.10025810
mov ecx, dword [ebp - 0x1f4]
cmp dword [esi], 4
jne 0x100d5a84
mov eax, dword [0x1012360c]
add eax, 0xffffffb8
xor eax, 0x920a48fb
cmp byte [eax + ecx], 0
je 0x100d5a84
xorps xmm0, xmm0
mov dword [ebp - 0x278], 0x504f4353
lea ecx, [ebp - 0x278]
mov word [ebp - 0x274], 0x4445
mov byte [ebp - 0x272], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5970
sub ecx, edx
lea eax, [ebp - 0x278]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10026020
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x299], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x18
mov word [ebp - 0x29c], 0xc8e6
mov byte [ebp - 0x29a], 0x82
call fcn.10029ec0
mov eax, dword [ebp - 0x29c]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d59fc
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d5a12
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0x18
cmp edx, 0x10
jb 0x100d5a4c
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5a42
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d5a84
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5a7a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
cmp dword [esi], 5
xorps xmm1, xmm1
mov edx, dword [ebp - 0x1f4]
jne 0x100d5bff
mov eax, dword [0x10123630]
add eax, 0xffffffaf
xor eax, 0x920a4904
movss xmm0, dword [eax + edx]
comiss xmm0, xmm1
jbe 0x100d5bff
xorps xmm0, xmm0
mov dword [ebp - 0x254], 0x4e494c42
lea ecx, [ebp - 0x254]
mov word [ebp - 0x250], 0x44
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5ae2
sub ecx, edx
lea eax, [ebp - 0x254]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10026020
mov eax, dword [ebp - 0x20c]
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x295], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1a
mov word [ebp - 0x298], 0xffff
mov byte [ebp - 0x296], 0
call fcn.10029ec0
mov eax, dword [ebp - 0x298]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d5b6e
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d5b84
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0x1a
cmp edx, 0x10
jb 0x100d5bbe
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5bb4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d5bf6
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5bec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov edx, dword [ebp - 0x1f4]
xorps xmm1, xmm1
cmp dword [esi], 6
jne 0x100d5db1
mov eax, dword [0x10123510]
mov ecx, dword [eax + edx]
movss xmm0, dword [ecx + 0x58]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x100d5db1
mov eax, dword [ecx + 0x50]
mov ecx, dword [0x101234c8]
mov dword [ebp - 0x1fc], ecx
mov ecx, dword [0x1012352c]
mov dword [ebp - 0x204], eax
cmp dword [ecx + edx], 0
jne 0x100d5c58
mov eax, dword [0x101234a4]
mov ecx, edx
call eax
mov ecx, dword [0x1012352c]
mov eax, dword [ebp - 0x204]
mov edx, eax
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ecx + eax]
call dword [ebp - 0x1fc]
cmp eax, 0x3c7
jne 0x100d5db1
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0x4f4c4552
lea ecx, [ebp - 0x2c]
mov word [ebp - 0x28], 0x4441
mov byte [ebp - 0x26], 0
lea edx, [ecx + 1]
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x34], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5ca0
sub ecx, edx
lea eax, [ebp - 0x2c]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10026020
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x289], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1c
mov word [ebp - 0x28c], 0xb43c
mov byte [ebp - 0x28a], 0xe1
call fcn.10029ec0
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d5d29
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d5d3f
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0x1c
cmp edx, 0x10
jb 0x100d5d79
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5d6f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d5db1
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5da7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
cmp dword [esi], 7
jne 0x100d5f14
mov eax, dword [0x101234d4]
mov ecx, dword [ebp - 0x1f4]
call eax
test al, al
je 0x100d5f14
xorps xmm0, xmm0
mov word [ebp - 0x210], 0x3443
lea ecx, [ebp - 0x210]
mov byte [ebp - 0x20e], 0
movups xmmword [ebp - 0x48], xmm0
mov dword [ebp - 0x38], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x34], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d5e00
sub ecx, edx
lea eax, [ebp - 0x210]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.10026020
mov eax, dword [ebp - 0x208]
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x291], al
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0x1e
mov word [ebp - 0x294], 0xff
mov byte [ebp - 0x292], 0
call fcn.10029ec0
mov eax, dword [ebp - 0x294]
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [ebp - 0x1c]
je 0x100d5e8c
movups xmm0, xmmword [ebp - 0x234]
mov edx, 0xf
mov byte [ebp - 0x234], 0
movups xmmword [ecx], xmm0
movq xmm0, qword [ebp - 0x224]
movq qword [ecx + 0x10], xmm0
mov dword [ecx + 0x18], eax
add dword [ebp - 0x20], 0x1c
jmp 0x100d5ea2
lea eax, [ebp - 0x234]
push eax
push ecx
lea ecx, [ebp - 0x24]
call fcn.100aed40
mov edx, dword [ebp - 0x220]
mov byte [ebp - 4], 0x1e
cmp edx, 0x10
jb 0x100d5edc
lea ecx, [edx + 1]
mov edx, dword [ebp - 0x234]
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5ed2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x34]
cmp ecx, 0x10
jb 0x100d5f14
mov edx, dword [ebp - 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d5f0a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100d61fd
push ecx
push edx
call fcn.100d9f61
add esp, 8
cmp dword [esi], 8
jne 0x100d60f9
cmp byte [0x100f6a38], 0
je 0x100d60f9
mov eax, dword [ebp - 0x1f8]
cmp dword [eax + 0x18], 0
je 0x100d60f9
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
mov eax, edx
shr eax, 1
dec ecx
and ecx, eax
and edx, 1
mov eax, dword [ebp - 0x1f8]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax + edx*8]
test ecx, ecx
je 0x100d60f9
mov eax, dword [ecx + 0x3f0]
cmp eax, 0xb
je 0x100d60a2
test eax, eax
je 0x100d60a2
cmp eax, 7
je 0x100d60a2
cmp eax, 8
je 0x100d60a2
cmp eax, 5
je 0x100d60a2
cmp eax, 0x16
je 0x100d60a2
cmp eax, 1
je 0x100d60a2
cmp eax, 2
jne 0x100d5ff5
cmp byte [ecx + 0x3c8], 0
jne 0x100d6067
mov eax, dword [ebp - 0x20c]
mov byte [ebp - 0x255], al
lea eax, [ebp - 0x258]
push eax
lea eax, [ecx + 0x420]
mov word [ebp - 0x258], 0xa5ff
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x256], 0
call fcn.100d8720
mov byte [ebp - 4], 0x22
jmp 0x100d60db
cmp eax, 0xc
je 0x100d6067
cmp eax, 0xd
je 0x100d6067
cmp eax, 0xe
je 0x100d6067
cmp eax, 0xf
je 0x100d6067
cmp eax, 0x10
je 0x100d6067
cmp eax, 3
je 0x100d5fb7
cmp eax, 0x15
je 0x100d5fb7
cmp eax, 6
je 0x100d5fb7
cmp eax, 9
je 0x100d5fb7
cmp eax, 4
je 0x100d5fb7
cmp eax, 0x17
je 0x100d5fb7
mov eax, dword [ebp - 0x20c]
mov byte [ebp - 0x28d], al
lea eax, [ebp - 0x290]
push eax
lea eax, [ecx + 0x420]
mov word [ebp - 0x290], 0xff
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x28e], 0
call fcn.100d8720
mov byte [ebp - 4], 0x23
jmp 0x100d60db
mov eax, dword [ebp - 0x20c]
mov byte [ebp - 0x249], al
lea eax, [ebp - 0x24c]
push eax
lea eax, [ecx + 0x420]
mov word [ebp - 0x24c], 0xff
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x24a], 0
call fcn.100d8720
mov byte [ebp - 4], 0x21
jmp 0x100d60db
mov eax, dword [ebp - 0x20c]
mov byte [ebp - 0x1ed], al
lea eax, [ebp - 0x1f0]
push eax
lea eax, [ecx + 0x420]
mov word [ebp - 0x1f0], 0xff00
push eax
lea ecx, [ebp - 0x234]
mov byte [ebp - 0x1ee], 0
call fcn.100d8720
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x24]
call fcn.100d8350
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 5
call fcn.10025810
add esi, 4
cmp esi, dword [ebp - 0x18]
jne 0x100d5200
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
sub ecx, dword [ebp - 0x24]
xor esi, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x100d619a
mov eax, dword [ebp - 0x248]
mov edx, dword [ebp - 0x240]
add eax, 2
mov edi, dword [ebp - 0x24]
add edx, eax
xor eax, eax
mov dword [ebp - 0x1fc], edx
mov dword [ebp - 0x18], eax
lea ecx, [eax + edi]
mov eax, dword [0x10126ca4]
add eax, 0xfffffffc
push 0
imul eax, esi
push ecx
push dword [ecx + 0x18]
mov ecx, 0x10126c9c
add eax, dword [ebp - 0x244]
push eax
push edx
call fcn.100cb340
mov ecx, dword [ebp - 0x20]
mov eax, 0x92492493
mov edi, dword [ebp - 0x24]
inc esi
add dword [ebp - 0x18], 0x1c
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0x1fc]
cmp esi, eax
mov eax, dword [ebp - 0x18]
jb 0x100d6141
mov edi, dword [ebp - 0x238]
lea ecx, [ebp - 0x6c]
call fcn.10024f80
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x100d620d
mov edx, dword [ebp - 0x20]
push ecx
call fcn.100ae790
mov ecx, dword [ebp - 0x1c]
mov eax, 0x92492493
mov esi, dword [ebp - 0x24]
add esp, 4
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x100d6203
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d6203
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100d9f61
add esp, 8
xor eax, eax
mov dword [ebp - 0x1f8], eax
cmp byte [ebp - 0x1e9], al
je 0x100d6431
cmp byte [0x100fa404], al
je 0x100d6411
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
dec eax
imul esi, eax, 0x510
add esi, 0x101073f4
je 0x100d6411
cmp byte [esi + 0x484], 0
je 0x100d6411
cmp dword [esi + 0x18], 0
je 0x100d6411
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
and edx, 1
shr eax, 1
dec ecx
and ecx, eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
test eax, eax
je 0x100d6411
movss xmm1, dword [eax + 0x3c]
movss xmm0, dword [eax + 0x38]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1001da00
cvtss2sd xmm0, xmm0
comisd xmm0, xmmword [0x100e9bd8]
jbe 0x100d62b7
cmp byte [eax + 0x3f4], 0
je 0x100d6411
cmp dword [esi + 0x490], 3
jg 0x100d6411
movss xmm0, dword [esi + 0x470]
lea edx, [ebp - 0x204]
subss xmm0, dword [eax + 0x404]
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1fc], 0x3f800000
push eax
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x204], 0
movss dword [ebp - 0x238], xmm0
call fcn.10025fc0
movd xmm1, dword [ebp - 0x240]
add esp, 4
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [eax]
mulss xmm1, dword [0x100e9bb8]
comiss xmm1, dword [0x100e9aac]
movss dword [ebp - 0x1fc], xmm1
jbe 0x100d6411
mov eax, dword [0x100fa4a8]
mov ecx, dword [0x10123350]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x208]
mov byte [ebp - 0x235], al
mov eax, dword [0x10123670]
mov edx, dword [ecx]
add eax, 0xffffff9f
xor eax, 0x920a4914
add eax, dword [ebp - 0x1f4]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov ecx, eax
test ecx, ecx
je 0x100d63a1
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, eax
xor eax, eax
test ecx, ecx
je 0x100d63a3
cmp dword [ecx + 0x14], 0xffffffff
mov edx, 5
cmovne eax, edx
mov dword [ebp - 0x1f8], eax
jmp 0x100d63a3
xor eax, eax
mov esi, dword [ebp - 0x244]
push dword [ebp - 0x238]
mov ecx, dword [ebp - 0x248]
add esi, eax
cvttss2si eax, dword [ebp - 0x1fc]
add esi, dword [ebp - 0x23c]
push 4
lea edx, [esi + 2]
push eax
call fcn.100ca900
movd xmm0, dword [ebp - 0x208]
lea edx, [esi + 2]
cvtdq2ps xmm0, xmm0
add esp, 8
mov ecx, esp
push 4
mulss xmm0, dword [0x100e9b98]
mov word [ecx], 0x4646
push dword [ebp - 0x240]
mov byte [ecx + 2], 0x46
cvttss2si eax, xmm0
mov byte [ecx + 3], al
mov ecx, dword [ebp - 0x248]
call fcn.100ca8c0
add esp, 0xc
push 0
push dword [0x100fa1d4]
push dword [0x100fa1d0]
call fcn.100d9900
cmp eax, dword [0x100fa1d4]
jne 0x100d6450
jmp 0x100d6a4f
push 1
push dword [0x100fa1d4]
push dword [0x100fa1d0]
call fcn.100d9900
cmp eax, dword [0x100fa1d4]
je 0x100d6a4f
mov ecx, dword [0x10123350]
mov eax, dword [0x10123670]
add eax, 0xffffff9f
xor eax, 0x920a4914
mov edx, dword [ecx]
add eax, dword [ebp - 0x1f4]
push ecx
mov esi, dword [edx + 0x10]
mov edx, esp
mov eax, dword [eax]
mov dword [edx], eax
call esi
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x100d6a4f
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d6a4f
mov ecx, dword [eax + 0x14]
mov eax, dword [0x1012368c]
mov edx, dword [ebp - 0x1f4]
add eax, 0xffffff98
xor eax, 0x920a491b
mov dword [ebp - 0x238], ecx
mov ecx, dword [eax + esi]
mov eax, dword [0x10123510]
mov dword [ebp - 0x1f0], ecx
mov edi, dword [eax + edx]
movss xmm0, dword [edi + 0x58]
ucomiss xmm0, dword [0x100e9aac]
lahf
test ah, 0x44
jnp 0x100d6529
mov ecx, dword [0x101234c8]
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x204], ecx
mov ecx, dword [0x1012352c]
mov dword [ebp - 0x1fc], eax
cmp dword [ecx + edx], 0
jne 0x100d650d
mov eax, dword [0x101234a4]
mov ecx, edx
call eax
mov ecx, dword [0x1012352c]
mov eax, dword [ebp - 0x1fc]
mov edx, eax
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ecx + eax]
call dword [ebp - 0x204]
cmp eax, 0x3c7
jne 0x100d6529
mov al, 1
jmp 0x100d652b
xor al, al
mov ecx, dword [ebp - 0x238]
cmp ecx, 0xffffffff
je 0x100d66d5
cmp byte [0x100fa2ec], 0
je 0x100d66d5
test al, al
je 0x100d6552
movss xmm1, dword [edi + 0x64]
jmp 0x100d6568
movd xmm1, dword [ebp - 0x1f0]
movd xmm0, ecx
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
mov eax, dword [ebp - 0x240]
add eax, 0xfffffffe
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x1fc], xmm0
fld dword [ebp - 0x1fc]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
mov eax, dword [ebp - 0x20c]
add esp, 4
mov ecx, dword [0x10123358]
mov edi, dword [ebp - 0x23c]
mov byte [ebp - 0x1ed], al
mov eax, dword [ebp - 0x244]
add eax, 6
mov word [ebp - 0x1f0], 0x5a5a
add edi, eax
mov byte [ebp - 0x1ee], 0x5a
mov eax, dword [ecx]
push dword [ebp - 0x1f0]
fstp dword [ebp - 0x1fc]
mov eax, dword [eax + 0x38]
call eax
mov edx, dword [ebp - 0x248]
add edx, dword [ebp - 0x240]
mov ecx, dword [0x10123358]
mov esi, dword [ebp - 0x244]
push edi
push edx
mov edx, dword [ebp - 0x23c]
add esi, 2
mov eax, dword [ecx]
add edx, esi
push edx
push dword [ebp - 0x248]
mov eax, dword [eax + 0x40]
call eax
mov eax, dword [0x100fa390]
mov ecx, dword [0x10123358]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp - 0x208]
mov byte [ebp - 0x235], al
mov eax, dword [ecx]
push dword [ebp - 0x238]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10123358]
cvttss2si esi, dword [ebp - 0x1fc]
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
mov eax, dword [ebp - 0x248]
add eax, esi
mov esi, dword [ebp - 0x23c]
push eax
mov eax, dword [ebp - 0x244]
add eax, 2
add esi, eax
push esi
push dword [ebp - 0x248]
call edx
movd xmm0, dword [ebp - 0x208]
mov ecx, dword [0x10123358]
cvtdq2ps xmm0, xmm0
mov word [ebp - 0x1f0], 0x4646
mov byte [ebp - 0x1ee], 0x46
mulss xmm0, dword [0x100e9b98]
cvttss2si eax, xmm0
mov byte [ebp - 0x1ed], al
mov eax, dword [ecx]
push dword [ebp - 0x1f0]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10123358]
lea edi, [esi + 4]
push edi
mov edi, dword [ebp - 0x248]
mov eax, dword [ecx]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 0x240]
add edx, edi
push edx
push esi
push edi
call eax
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x1f8]
mov eax, dword [0x100fa278]
add edi, 6
mov dword [ebp - 0x1f8], edi
test eax, eax
jne 0x100d6864
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d6712
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov edx, dword [eax + 4]
jmp 0x100d672b
mov dword [ebp - 0x218], 0x6f727265
lea edx, [ebp - 0x218]
mov word [ebp - 0x214], 0x72
mov ecx, edx
mov dword [ebp - 0x50], 0
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x60], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d6745
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x60]
call fcn.10026020
mov dword [ebp - 4], 0x24
lea ecx, [ebp - 0x60]
mov esi, dword [ebp - 0x50]
mov edx, 7
cmp esi, edx
cmovb edx, esi
cmp dword [ebp - 0x4c], 0x10
cmovae ecx, dword [ebp - 0x60]
sub esi, edx
lea eax, [esi + 1]
push eax
lea eax, [ecx + edx]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x60]
add esp, 0xc
mov dword [ebp - 0x50], esi
cmp dword [ebp - 0x4c], 0x10
cmovae eax, ecx
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x60]
cmovae eax, ecx
add eax, esi
cmp dword [ebp - 0x4c], 0x10
lea esi, [ebp - 0x60]
mov dword [ebp - 0x1fc], eax
cmovae esi, ecx
cmp esi, eax
je 0x100d67df
sub dword [ebp - 0x18], esi
mov edi, dword [ebp - 0x18]
nop
movsx eax, byte [esi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [edi + esi], al
add esp, 4
inc esi
cmp esi, dword [ebp - 0x1fc]
jne 0x100d67c0
mov edi, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x244]
lea eax, [ebp - 0x60]
push 2
push eax
mov eax, dword [ebp - 0x208]
add edx, edi
add edx, dword [ebp - 0x23c]
push ecx
mov ecx, esp
push edx
mov byte [ecx + 3], al
mov eax, dword [ebp - 0x240]
cdq
sub eax, edx
mov word [ecx], 0xffff
sar eax, 1
add eax, dword [ebp - 0x248]
mov byte [ecx + 2], 0xff
mov ecx, 0x10126c9c
push eax
call fcn.100cb340
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0x10
jb 0x100d6a4f
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100d6855
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100d6855
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100d9f61
add esp, 8
jmp 0x100d6a4f
cmp eax, 1
jne 0x100d6a4f
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x100d688e
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x6f8]
call eax
mov edx, dword [eax + 4]
jmp 0x100d68a7
mov dword [ebp - 0x218], 0x6f727265
lea edx, [ebp - 0x218]
mov word [ebp - 0x214], 0x72
mov ecx, edx
mov dword [ebp - 0x80], 0
xorps xmm0, xmm0
mov dword [ebp - 0x7c], 0
movups xmmword [ebp - 0x90], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100d68c4
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x90]
call fcn.10026020
mov dword [ebp - 4], 0x25
lea eax, [ebp - 0x90]
cmp dword [ebp - 0x7c], 0x10
lea ecx, [ebp - 0x90]
mov edx, dword [ebp - 0x90]
lea edi, [ebp - 0x90]
cmovae eax, edx
cmovae ecx, edx
mov dword [ebp - 0x1fc], eax
mov eax, dword [ebp - 0x80]
add eax, ecx
cmp dword [ebp - 0x7c], 0x10
mov dword [ebp - 0x204], eax
cmovae edi, edx
cmp edi, eax
je 0x100d6949
mov esi, dword [ebp - 0x1fc]
sub esi, edi
nop word [eax + eax]
movsx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi + edi], al
add esp, 4
inc edi
cmp edi, dword [ebp - 0x204]
jne 0x100d6930
mov edx, dword [0x10123688]
mov ecx, dword [ebp - 0x18]
add edx, 0xffffff99
mov eax, edx
xor eax, 0x920a491a
cmp dword [eax + ecx], 0x40
jne 0x100d69b4
push 2
lea eax, [ebp - 0x90]
push eax
push ecx
mov ecx, dword [ebp - 0x20c]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x10126c9c
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x1f8]
add eax, dword [ebp - 0x244]
add eax, dword [ebp - 0x23c]
push eax
mov eax, dword [ebp - 0x240]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x248]
push eax
call fcn.100cb340
jmp 0x100d6a44
mov esi, dword [ebp - 0x1f8]
xor edx, 0x920a491a
add edx, ecx
sub esi, 5
push edx
mov ecx, 0x1012926c
call fcn.100d8430
push eax
lea edx, [ebp - 0x210]
mov word [ebp - 0x210], 0x6325
lea ecx, [ebp - 0x48]
mov byte [ebp - 0x20e], 0
call fcn.100d8750
add esp, 4
push 2
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x26
push eax
push ecx
mov ecx, dword [ebp - 0x20c]
mov eax, esp
mov byte [eax + 3], cl
mov ecx, 0x10126cd8
mov word [eax], 0xffff
mov byte [eax + 2], 0xff
mov eax, dword [ebp - 0x244]
add eax, esi
add eax, dword [ebp - 0x23c]
push eax
mov eax, dword [ebp - 0x240]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x248]
push eax
call fcn.100cb340
lea ecx, [ebp - 0x48]
call fcn.10025810
lea ecx, [ebp - 0x90]
call fcn.10025810
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.100d9ae6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4