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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xf0
mov esi, esp
mov dword [esi + 0xd8], ebp
mov dword [esi + 0xdc], esp
mov dword [esi + 0xe8], 0xffffffff
lea eax, [esi + 0xe0]
mov dword [esi + 0xe4], 0x406970
mov ecx, dword fs:[0]
mov dword [esi + 0xe0], ecx
mov dword fs:[0], eax
cmp dword [0x42e278], 0xa
jl 0x402db3
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x402db3
mov edx, dword [0x42e280]
mov eax, dword [0x42e284]
mov dword [esi + 0x14], eax
lea eax, [edx + 1]
imul eax, edx
and eax, 1
mov dword [esi], eax
xorps xmm0, xmm0
movaps xmmword [esi + 0xb0], xmm0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xc4], 0xf
cmp dword [esi], 0
sete cl
cmp dword [esi + 0x14], 0xa
setl al
or al, cl
cmp al, 1
jne 0x402e12
mov ecx, 0x1f6ec11c
mov edx, 0xa125404a
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], ecx
mov ecx, 0xcfe4e4b5
mov edx, 0xa08bf8ff
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], ecx
mov ecx, 0xd4461b7c
mov edx, 0x72125e03
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], ecx
mov ecx, 0xa535b0ce
mov edx, 0xd7b8e7ff
mov dword [esi + 0x7c], edx
mov dword [esi + 0x78], ecx
test al, al
je 0x402e12
mov eax, 0x1f0bc14f
mov edi, 0xa14c4038
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], eax
mov eax, 0xcf88e4d4
mov edi, 0xa0fef8b1
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], eax
mov eax, 0xd4241b11
mov edi, 0x72605e66
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], eax
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], edx
lea eax, [esi + 0x30]
xor ecx, ecx
movaps xmm0, xmmword [esi + 0x60]
movaps xmm1, xmmword [esi + 0x70]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
xorps xmm1, xmmword [eax + 0x10]
movaps xmmword [esi + 0x70], xmm1
mov dword [esi + 0x58], esp
xorps xmm0, xmm0
movaps xmmword [esi + 0xb0], xmm0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xc4], 0xf
push eax
sub esp, 0x30
mov eax, esp
mov edi, dword [0x42e280]
mov ecx, dword [0x42e284]
lea edx, [edi + 1]
imul edi, edx
and edi, 1
mov dword [esi], edi
sete dh
mov dword [esi + 0x14], ecx
cmp ecx, 0xa
setl dl
or dl, dh
mov dword [esi + 0x18], eax
add eax, 0x1c
mov dword [esi + 0x5c], eax
cmp dl, 1
je 0x402e57
jmp 0x402fa2
mov ecx, 0x1f6ec11c
mov edx, 0xa125404a
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], ecx
mov ecx, 0xcfe4e4b5
mov edx, 0xa08bf8ff
mov dword [esi + 0x6c], edx
mov dword [esi + 0x68], ecx
mov ecx, 0xd4461b7c
mov edx, 0x72125e03
mov dword [esi + 0x74], edx
mov dword [esi + 0x70], ecx
mov ecx, 0xa535b0ce
mov edx, 0xd7b8e7ff
mov dword [esi + 0x7c], edx
mov dword [esi + 0x78], ecx
jmp 0x402d19
mov edi, 0x1f6ec11c
mov ebx, 0xa125404a
mov dword [esi + 0x64], ebx
mov dword [esi + 0x60], edi
mov edi, 0xcfe4e4b5
mov ebx, 0xa08bf8ff
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x68], edi
mov edi, 0xd4461b7c
mov ebx, 0x72125e03
mov dword [esi + 0x74], ebx
mov dword [esi + 0x70], edi
mov ecx, 0xa535b0ce
mov edi, 0xd7b8e7ff
mov dword [esi + 0x7c], edi
mov dword [esi + 0x78], ecx
test dl, dl
je 0x402fa2
mov eax, 0x1f0bc14f
mov edx, 0xa14c4038
mov dword [esi + 4], edx
mov dword [esi + 0x10], eax
mov dword [esi + 0x84], ecx
mov eax, 0xcf88e4d4
mov dword [esi + 0x8c], edi
mov ebx, 0xa0fef8b1
mov dword [esi + 8], eax
mov ecx, 0xd4241b11
mov eax, 0x72605e66
lea edi, [esi + 0x30]
xor edx, edx
mov edx, dword [esi + 4]
mov dword [esi + 0x34], edx
mov edx, dword [esi + 0x10]
mov dword [esi + 0x30], edx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x3c], ebx
mov edx, dword [esi + 8]
mov dword [esi + 0x38], edx
mov dword [esi + 0xd0], eax
mov dword [esi + 0x44], eax
mov dword [esi + 0xd4], ecx
mov dword [esi + 0x40], ecx
mov eax, dword [esi + 0x84]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x4c], eax
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [edi]
movaps xmm1, xmmword [esi + 0x70]
movaps xmmword [esi + 0x60], xmm0
xorps xmm1, xmmword [edi + 0x10]
movaps xmmword [esi + 0x70], xmm1
cmp dword [0x42e278], 0xa
jl 0x402f48
mov edx, dword [0x42e27c]
lea edi, [edx + 1]
imul edi, edx
and edi, 1
jne 0x402ce4
xorps xmm0, xmm0
mov ebx, dword [esi + 0x5c]
movups xmmword [ebx], xmm0
mov dword [ebx + 0x14], 0
mov dword [ebx + 0x10], 0
lea edi, [esi + 0x60]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov dword [esi + 0xe8], 0
mov ecx, ebx
push eax
push edi
call fcn.00406490
cmp dword [0x42e278], 0xa
jl 0x402fe7
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x402fe7
nop word [eax + eax]
jmp 0x402fa0
mov edi, 0x1f6ec11c
mov ebx, 0xa125404a
mov dword [esi + 0x64], ebx
mov dword [esi + 0x60], edi
mov edi, 0xcfe4e4b5
mov ebx, 0xa08bf8ff
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x68], edi
mov edi, 0xd4461b7c
mov ebx, 0x72125e03
mov dword [esi + 0x74], ebx
mov dword [esi + 0x70], edi
mov edi, 0xa535b0ce
mov ebx, 0xd7b8e7ff
mov dword [esi + 0x7c], ebx
mov dword [esi + 0x78], edi
jmp 0x402e57
cmp dword [0x42e288], 0xa
jl 0x403002
mov eax, dword [0x42e28c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x403002
jmp 0x403000
mov eax, 0x2c65a818
mov ecx, 0xc00e1f0a
mov dword [esi + 0x24], ecx
mov ecx, 0xa0ca81a7
mov dword [esi + 0x20], eax
mov eax, 0xa09a8ad0
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], ecx
xor eax, eax
lea ecx, [esi + 0x30]
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
mov edi, dword [esi + 0x18]
add edi, 4
movaps xmmword [esi + 0x20], xmm0
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
lea ebx, [esi + 0x20]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x403171
cmp eax, 0xf
ja 0x403091
mov ecx, dword [esi + 0x18]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0xf
push eax
push ebx
push edi
mov ebx, eax
jmp 0x403106
mov dword [esi + 0x14], eax
or eax, 0xf
cmp eax, 0x17
mov ecx, 0x16
cmovae ecx, eax
cmp ecx, 0xfff
mov dword [esi], ecx
jb 0x4030d3
lea eax, [ecx + 0x24]
mov byte [esi + 0x1e], 1
mov dword [esi + 0xe8], 3
push eax
call fcn.0040dc42
add esp, 4
mov edi, eax
add edi, 0x23
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x4030ef
lea eax, [ecx + 1]
mov byte [esi + 0x1e], 1
mov dword [esi + 0xe8], 3
push eax
call fcn.0040dc42
add esp, 4
mov edi, eax
lea eax, [esi + 0x20]
mov ecx, dword [esi + 0x18]
mov dword [ecx + 4], edi
mov ebx, dword [esi + 0x14]
mov dword [ecx + 0x14], ebx
mov edx, dword [esi]
mov dword [ecx + 0x18], edx
push ebx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, ebx
add esp, 0xc
add eax, edi
mov byte [eax], 0
cmp dword [0x42e278], 0xa
jl 0x403132
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x403132
nop
jmp 0x403130
lea eax, [esi + 0xb0]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
mov byte [esi + 0x1e], 0
mov dword [esi + 0xe8], 3
call fcn.00401910
add esp, 0x34
cmp dword [0x42e278], 0xa
mov edi, dword [esi + 0x58]
jl 0x403184
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4031cd
jmp 0x403184
mov byte [esi + 0x1e], 1
mov dword [esi + 0xe8], 3
call fcn.00406220
mov esp, edi
xor eax, eax
cmp dword [esi + 0xc0], 4
jne 0x4031af
cmp dword [esi + 0xc4], 0x10
lea eax, [esi + 0xb0]
jb 0x4031a6
mov eax, dword [esi + 0xb0]
cmp dword [eax], 0x656e6f4e
sete al
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x4031d1
test ebx, ebx
je 0x4031d1
mov esp, edi
jmp 0x403184
mov dword [esi + 0x58], 1
test al, al
je 0x403328
cmp edx, 0xa
jl 0x4032be
test ebx, ebx
je 0x4032be
nop word cs:[eax + eax]
jmp 0x403200
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
je 0x403311
nop
mov eax, dword [esi + 0xc4]
cmp eax, 0x10
jb 0x40325e
mov ecx, dword [esi + 0xb0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x403254
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403497
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0040dc77
add esp, 8
mov eax, dword [esi + 0xc4]
cmp eax, 0x10
jb 0x40329c
mov ecx, dword [esi + 0xb0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x403292
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403497
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0040dc77
add esp, 8
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
lea eax, [ecx + 1]
imul eax, ecx
and eax, 1
cmp edx, 0xa
jl 0x4032be
test eax, eax
jne 0x403220
mov eax, dword [esi + 0xc4]
cmp eax, 0x10
jb 0x403308
mov ecx, dword [esi + 0xb0]
lea edi, [eax + 1]
cmp edi, 0x1000
jb 0x4032f2
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x403497
add eax, 0x24
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0040dc77
add esp, 8
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
cmp edx, 0xa
jge 0x403210
mov eax, dword [esi + 0xe0]
mov dword fs:[0], eax
mov eax, dword [esi + 0x58]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi], esp
push eax
sub esp, 0x30
mov dword [esi + 0x5c], esp
mov eax, 0x1f6ac10c
mov ecx, 0xa1384048
mov dword [esi + 0x14], eax
cmp dword [0x42e290], 0xa
jl 0x40335c
mov edx, dword [0x42e294]
lea edi, [edx + 1]
imul edi, edx
and edi, 1
jne 0x403420
mov edx, 0xcfe7e4bd
mov edi, 0xa0fef8df
xor ebx, ebx
lea eax, [esi + 0x30]
mov dword [esi + 0x18], eax
nop
mov eax, dword [esi + 0x14]
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], edx
mov dword [esi + 0x6c], edi
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
movaps xmm0, xmmword [esi + 0x60]
mov eax, dword [esi + 0x18]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
cmp dword [0x42e278], 0xa
jl 0x403422
mov ebx, dword [0x42e27c]
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
je 0x403422
mov dword [esi], esp
xor eax, eax
lea ebx, [esi + 0x30]
mov eax, dword [esi + 0x14]
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], ecx
mov dword [esi + 0x68], edx
mov dword [esi + 0x6c], edi
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ebx]
movaps xmmword [esi + 0x60], xmm0
push eax
sub esp, 0x30
mov dword [esi + 0x5c], esp
cmp dword [0x42e290], 0xa
jl 0x403370
mov eax, dword [0x42e294]
lea ebx, [eax + 1]
imul ebx, eax
and ebx, 1
je 0x403370
jmp 0x403420
mov eax, dword [esi + 0x5c]
lea ebx, [eax + 0x1c]
xorps xmm0, xmm0
movups xmmword [eax + 0x1c], xmm0
mov dword [eax + 0x30], 0
mov dword [esi + 0x5c], eax
mov dword [eax + 0x2c], 0
lea edi, [esi + 0x60]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov dword [esi + 0xe8], 0
mov dword [esi + 0x18], ebx
mov ecx, ebx
push eax
push edi
call fcn.00406490
mov ecx, dword [0x42e298]
mov edx, dword [0x42e29c]
lea eax, [ecx + 1]
imul ecx, eax
test cl, 1
sete ah
cmp edx, 0xa
setl al
or al, ah
mov edi, dword [esi + 0x5c]
add edi, 4
cmp edx, 0xa
mov ebx, dword [esi + 0x10]
jl 0x40349d
and ecx, 1
jne 0x4034c1
jmp 0x40349d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, 0x2c65a818
mov edx, 0xc8081f0a
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov ecx, 0xbdcc8fa7
mov edx, 0xa09b8ed8
mov dword [esi + 0x2c], edx
mov dword [esi + 0x28], ecx
test al, al
jne 0x4034e3
mov ecx, 0x2c65a818
mov edx, 0xc8081f0a
mov dword [esi + 0x24], edx
mov dword [esi + 0x20], ecx
mov ecx, 0xbdcc8fa7
mov edx, 0xa09b8ed8
mov dword [esi + 0x2c], edx
mov dword [esi + 0x28], ecx
jmp 0x40349d
xor eax, eax
lea ecx, [esi + 0x30]
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x20], xmm0
xorps xmm0, xmm0
movups xmmword [edi], xmm0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
lea ebx, [esi + 0x20]
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
test eax, eax
js 0x403632
cmp eax, 0xf
mov dword [esi + 0x14], eax
ja 0x40354b
mov ecx, dword [esi + 0x5c]
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0xf
push eax
push ebx
mov ebx, ecx
jmp 0x4035ba
or eax, 0xf
cmp eax, 0x17
mov ecx, 0x16
cmovae ecx, eax
mov dword [esi + 0xe8], 2
cmp ecx, 0xfff
mov dword [esi + 0x80], ecx
jb 0x40358e
lea eax, [ecx + 0x24]
mov byte [esi + 0x1f], 1
push eax
call fcn.0040dc42
add esp, 4
mov edi, eax
add edi, 0x23
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x4035a0
lea eax, [ecx + 1]
mov byte [esi + 0x1f], 1
push eax
call fcn.0040dc42
add esp, 4
mov edi, eax
lea eax, [esi + 0x20]
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x5c]
mov dword [ebx + 4], edi
mov dword [ebx + 0x14], ecx
mov edx, dword [esi + 0x80]
mov dword [ebx + 0x18], edx
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x14]
add esp, 0xc
add eax, edi
mov byte [eax], 0
cmp dword [0x42e278], 0xa
jl 0x4035f2
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x4035f2
nop word cs:[eax + eax]
jmp 0x4035f0
lea eax, [esi + 0xb0]
mov dword [ebx], eax
mov byte [esi + 0x1f], 0
mov dword [esi + 0xe8], 2
call fcn.00401910
add esp, 0x34
cmp dword [0x42e278], 0xa
mov edi, dword [esi + 4]
jl 0x403645
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4036dc
jmp 0x403645
mov byte [esi + 0x1f], 1
mov dword [esi + 0xe8], 2
call fcn.00406220
mov esp, dword [esi]
mov edx, 0x7e7c8c19
mov ebx, 0xa14c254a
cmp dword [0x42e2a0], 0xa
jl 0x40366e
mov eax, dword [0x42e2a4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x403760
xor eax, eax
lea ecx, [esi + 0x30]
mov dword [esi + 0x14], edx
mov dword [esi + 0x60], edx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x64], ebx
mov edx, dword [esi + 8]
mov dword [esi + 0x68], edx
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x34], edi
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x38], edx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x60], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x60]
push eax
call fcn.00404570
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x403762
test ebx, ebx
je 0x403762
mov esp, dword [esi]
mov eax, 0x7e7c8c19
mov ecx, 0xa14c254a
cmp dword [0x42e2a0], 0xa
jl 0x403705
mov edx, dword [0x42e2a4]
lea edi, [edx + 1]
imul edi, edx
and edi, 1
mov edi, dword [esi + 4]
jne 0x403750
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], ecx
xor eax, eax
lea ecx, [esi + 0x30]
mov edx, dword [esi + 8]
mov dword [esi + 0x68], edx
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x6c], ebx
mov dword [esi + 0x34], edi
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x38], edx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x60], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x60]
push eax
call fcn.00404570
jmp 0x403645
jmp 0x403750
jmp 0x403760
mov byte [esi + 0x80], 1
cmp eax, 0xffffffff
je 0x403782
cmp edx, 0xa
jl 0x4038c2
test ebx, ebx
je 0x4038c2
nop
jmp 0x403780
cmp dword [0x42e2a8], 0xa
jl 0x40379f
mov eax, dword [0x42e2ac]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4038b0
mov eax, 0x47448319
mov edx, 0xa14c4038
mov dword [esi], eax
xor eax, eax
lea ecx, [esi + 0x30]
mov dword [esi + 0x18], ecx
lea ecx, [esi + 0xb0]
mov eax, dword [esi]
mov dword [esi + 0x20], eax
mov edi, edx
mov dword [esi + 0x24], edx
mov ebx, dword [esi + 8]
mov dword [esi + 0x28], ebx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x2c], edx
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ebx
movaps xmm0, xmmword [esi + 0x20]
mov eax, dword [esi + 0x18]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
push 0
lea eax, [esi + 0x20]
push eax
call fcn.00404570
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x403a2d
test ebx, ebx
je 0x403a2d
cmp dword [0x42e2a8], 0xa
jl 0x40383d
mov eax, dword [0x42e2ac]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x4038c0
lea eax, [esi + 0x30]
xor ecx, ecx
mov ecx, dword [esi]
mov dword [esi + 0x20], ecx
mov ebx, edi
mov dword [esi + 0x24], edi
mov edx, dword [esi + 8]
mov dword [esi + 0x28], edx
mov edi, dword [esi + 0xc]
mov dword [esi + 0x2c], edi
mov ecx, dword [esi + 4]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], edx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
lea edi, [esi + 0xb0]
mov ecx, edi
push 0
lea eax, [esi + 0x20]
push eax
call fcn.00404570
mov edx, ebx
mov ecx, edi
cmp dword [0x42e2a8], 0xa
jl 0x4037b9
mov eax, dword [0x42e2ac]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
je 0x4037b9
nop dword [eax]
jmp 0x4038b0
jmp 0x4038c0
cmp byte [esi + 0x80], 0
jne 0x4031e0
mov ebx, 0x1f64c102
mov eax, 0xa129405c
mov dword [esi], eax
mov edx, 0xcf88e4b8
mov ecx, 0xa0fef8b1
xor edi, edi
lea eax, [esi + 0x30]
mov dword [esi + 0xac], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x18], edx
mov dword [esi + 0xcc], ecx
mov dword [esi + 0x80], esp
push eax
sub esp, 0x30
mov dword [esi + 0x58], esp
mov edi, dword [esi]
mov dword [esi + 0x24], edi
mov dword [esi + 0x20], ebx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x28], edx
mov ecx, dword [esi + 4]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
movaps xmm0, xmmword [esi + 0x20]
mov eax, dword [esi + 0xac]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
cmp dword [0x42e278], 0xa
jl 0x4039a4
mov edi, ebx
mov ebx, dword [0x42e27c]
lea eax, [ebx + 1]
imul eax, ebx
and eax, 1
je 0x4039a4
xor eax, eax
lea ebx, [esi + 0x30]
mov dword [esi + 0x20], edi
mov eax, dword [esi]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x28], eax
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0x2c], ecx
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0xc]
mov dword [esi + 0x3c], edx
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, edx
mov edx, dword [esi + 0x18]
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [ebx]
mov ebx, edi
movaps xmmword [esi + 0x20], xmm0
jmp 0x4038fc
mov eax, dword [esi + 0x58]
lea ebx, [eax + 0x1c]
xorps xmm0, xmm0
movups xmmword [eax + 0x1c], xmm0
mov dword [eax + 0x30], 0
mov dword [eax + 0x2c], 0
lea edi, [esi + 0x20]
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_wcslen
add esp, 4
mov dword [esi + 0xe8], 0
mov dword [esi + 0xcc], ebx
mov ecx, ebx
push eax
push edi
call fcn.00406490
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x42e278], 0xa
setl cl
or cl, al
mov byte [esi + 0x18], cl
mov eax, dword [0x42e2b0]
mov dword [esi], eax
mov ebx, dword [0x42e2b4]
mov dword [esi + 0xac], ebx
jne 0x403cf9
mov eax, dword [esi]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
jmp 0x403c5e
cmp eax, 0xffffffff
jne 0x40376e
cmp dword [0x42e2b8], 0xa
jl 0x403a51
mov eax, dword [0x42e2bc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x403a51
jmp 0x403a4f
mov eax, 0x6b79a819
mov ecx, 0x8120214d
mov dword [esi + 0x18], ecx
mov dword [esi], eax
mov eax, 0xcf88a09c
mov edi, 0xa0fef8b1
mov dword [esi + 0x80], eax
xor eax, eax
lea ecx, [esi + 0x30]
mov dword [esi + 0xac], ecx
mov eax, dword [esi]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], edi
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
movaps xmm0, xmmword [esi + 0x90]
mov eax, dword [esi + 0xac]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x90], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x90]
push eax
call fcn.00404570
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x403c4f
test ebx, ebx
je 0x403c4f
cmp dword [0x42e2b8], 0xa
jl 0x403b24
mov eax, dword [0x42e2bc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x403c4b
xor eax, eax
lea ecx, [esi + 0x30]
mov eax, dword [esi]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], edi
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
movaps xmm0, xmmword [esi + 0x90]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x90], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x90]
push eax
call fcn.00404570
cmp dword [0x42e2b8], 0xa
jl 0x403ba6
mov eax, dword [0x42e2bc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x403c4d
xor eax, eax
lea ecx, [esi + 0x30]
mov eax, dword [esi]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x94], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x98], eax
mov dword [esi + 0x9c], edi
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ebx
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
movaps xmm0, xmmword [esi + 0x90]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x90], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x90]
push eax
call fcn.00404570
cmp dword [0x42e278], 0xa
jl 0x403c25
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x403b07
cmp dword [0x42e2b8], 0xa
jl 0x403a7b
mov eax, dword [0x42e2bc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x403a7b
jmp 0x403a4f
jmp 0x403c4b
jmp 0x403c4d
cmp eax, 0xffffffff
setne byte [esi + 0x80]
jmp 0x40376e
cmp ebx, 0xa
jl 0x403c6b
test edi, edi
jne 0x403e20
mov edi, 0x2c65a818
mov eax, 0xce2f1f0a
mov dword [esi + 0x64], eax
mov eax, 0xbbfd94b9
mov dword [esi + 0x60], edi
mov edi, 0xd98d8ad4
mov dword [esi + 0x6c], edi
mov edi, 0xb9416f62
mov dword [esi + 0x68], eax
mov eax, 0x72605e66
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], edi
xor eax, eax
lea edi, [esi + 0x30]
mov edx, dword [esi + 0x84]
mov dword [esi + 0x78], edx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x7c], ecx
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0x40], eax
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], edx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [edi]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [edi + 0x10]
movaps xmmword [esi + 0x70], xmm0
mov eax, dword [esi]
lea edi, [eax + 1]
imul edi, eax
and edi, 1
cmp ebx, 0xa
jl 0x403d11
test edi, edi
jne 0x403e30
mov ebx, 0x2c65a818
mov eax, 0xce2f1f0a
mov dword [esi + 0x64], eax
mov eax, 0xbbfd94b9
mov dword [esi + 0x60], ebx
mov ebx, 0xd98d8ad4
mov dword [esi + 0x6c], ebx
mov ebx, 0xb9416f62
mov dword [esi + 0x68], eax
mov eax, 0x72605e66
mov dword [esi + 0x74], eax
mov dword [esi + 0x70], ebx
xor eax, eax
lea ebx, [esi + 0x30]
mov edx, dword [esi + 0x84]
mov dword [esi + 0x78], edx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x7c], ecx
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xd0]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0xd4]
mov dword [esi + 0x40], eax
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x48], edx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ebx]
movaps xmmword [esi + 0x60], xmm0
movaps xmm0, xmmword [esi + 0x70]
xorps xmm0, xmmword [ebx + 0x10]
mov ebx, dword [esi + 0xac]
mov edx, dword [esi + 0x58]
movaps xmmword [esi + 0x70], xmm0
cmp byte [esi + 0x18], 0
je 0x403c5e
mov ecx, edx
add ecx, 4
mov byte [esi + 0x8b], 1
mov dword [esi + 0xe8], 1
lea eax, [esi + 0x60]
push eax
call fcn.00401300
lea eax, [esi + 0xb0]
mov ecx, dword [esi + 0x58]
mov dword [ecx], eax
mov byte [esi + 0x8b], 0
call fcn.00401910
add esp, 0x34
cmp dword [0x42e278], 0xa
jl 0x403e32
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x403e32
nop word cs:[eax + eax]
jmp 0x403e10
jmp 0x403e20
jmp 0x403e30
mov esp, dword [esi + 0x80]
cmp dword [0x42e2c0], 0xa
mov ebx, dword [esi + 0x10]
jl 0x403e58
mov eax, dword [0x42e2c4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x403f67
xor eax, eax
lea ecx, [esi + 0x30]
mov dword [esi + 0x84], ecx
lea edi, [esi + 0xb0]
mov eax, dword [esi + 0x14]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x64], eax
mov ecx, dword [esi + 8]
mov dword [esi + 0x68], ecx
mov edx, dword [esi + 0xc]
mov dword [esi + 0x6c], edx
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov dword [esi + 0x30], ebx
mov dword [esi + 0x3c], edx
mov dword [esi + 0x38], ecx
movaps xmm0, xmmword [esi + 0x60]
mov eax, dword [esi + 0x84]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x60], xmm0
mov ecx, edi
push 0
lea eax, [esi + 0x60]
push eax
call fcn.00404570
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x403f6b
test ebx, ebx
je 0x403f6b
mov esp, dword [esi + 0x80]
cmp dword [0x42e2c0], 0xa
jl 0x403ef3
mov eax, dword [0x42e2c4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x403f69
xor eax, eax
lea ecx, [esi + 0x30]
mov eax, dword [esi + 0x14]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x5c]
mov dword [esi + 0x64], eax
mov edx, dword [esi + 8]
mov dword [esi + 0x68], edx
mov edi, dword [esi + 0xc]
mov dword [esi + 0x6c], edi
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov ebx, dword [esi + 0x10]
mov dword [esi + 0x30], ebx
mov dword [esi + 0x3c], edi
mov dword [esi + 0x38], edx
movaps xmm0, xmmword [esi + 0x60]
xorps xmm0, xmmword [ecx]
movaps xmmword [esi + 0x60], xmm0
lea edi, [esi + 0xb0]
mov ecx, edi
push 0
lea eax, [esi + 0x60]
push eax
call fcn.00404570
mov esp, dword [esi + 0x80]
cmp dword [0x42e2c0], 0xa
jl 0x403e69
mov eax, dword [0x42e2c4]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x403e69
jmp 0x403f67
jmp 0x403f69
mov dword [esi + 0x58], 1
cmp eax, 0xffffffff
je 0x403f8a
cmp edx, 0xa
jl 0x4031e0
test ebx, ebx
je 0x4031e0
jmp 0x403f88
cmp dword [0x42e2c8], 0xa
jl 0x403fa5
mov eax, dword [0x42e2cc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x403fa5
jmp 0x403fa3
mov eax, 0x6b79a819
mov ecx, 0xe320214d
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x84], eax
mov eax, 0xcf889cbb
mov edi, 0xa0fef8b1
mov dword [esi + 0x14], eax
xor eax, eax
lea ecx, [esi + 0x30]
mov dword [esi], ecx
mov eax, dword [esi + 0x84]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], edi
mov eax, dword [esi + 4]
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x38], eax
movaps xmm0, xmmword [esi + 0x20]
mov eax, dword [esi]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x20]
push eax
call fcn.00404570
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x40416f
test ebx, ebx
je 0x40416f
cmp dword [0x42e2c8], 0xa
jl 0x404063
mov eax, dword [0x42e2cc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x40416b
lea eax, [esi + 0x30]
xor ecx, ecx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edi
mov ecx, dword [esi + 4]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x38], ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x20]
push eax
call fcn.00404570
cmp dword [0x42e2c8], 0xa
jl 0x4040d4
mov eax, dword [0x42e2cc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x40416d
lea eax, [esi + 0x30]
xor ecx, ecx
mov ecx, dword [esi + 0x84]
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 0x8c]
mov dword [esi + 0x24], ecx
mov ecx, dword [esi + 0x14]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edi
mov ecx, dword [esi + 4]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x38], ecx
movaps xmm0, xmmword [esi + 0x20]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x20], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x20]
push eax
call fcn.00404570
cmp dword [0x42e278], 0xa
jl 0x404145
mov eax, dword [0x42e27c]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
jne 0x404046
cmp dword [0x42e2c8], 0xa
jl 0x403fcf
mov eax, dword [0x42e2cc]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x403fcf
jmp 0x403fa3
jmp 0x40416b
jmp 0x40416d
cmp eax, 0xffffffff
jne 0x403f77
jmp 0x4041e3
mov eax, dword [esi + 0x84]
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x94], eax
mov dword [esi + 0x98], edi
mov eax, dword [esi + 0x14]
mov dword [esi + 0x9c], eax
lea eax, [esi + 0x30]
xor ecx, ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x38], ecx
movaps xmm0, xmmword [esi + 0x90]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x90], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x90]
push eax
call fcn.00404570
mov eax, dword [0x42e2d0]
lea ecx, [eax + 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x42e2d4], 0xa
setl al
or al, cl
cmp al, 1
jne 0x4042ce
mov ecx, 0x6b79a819
mov edx, 0x8120214d
mov dword [esi + 0x8c], edx
mov dword [esi + 0x94], edx
mov dword [esi + 0x84], ecx
mov dword [esi + 0x90], ecx
mov edi, 0xa7eb8599
mov ecx, 0xa09b96d8
mov dword [esi + 0x14], ecx
mov dword [esi + 0x9c], ecx
mov dword [esi + 0x98], edi
test al, al
je 0x4042ce
lea eax, [esi + 0x30]
xor ecx, ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 8]
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x3c], ecx
movaps xmm0, xmmword [esi + 0x90]
xorps xmm0, xmmword [eax]
movaps xmmword [esi + 0x90], xmm0
lea ecx, [esi + 0xb0]
push 0
lea eax, [esi + 0x90]
push eax
call fcn.00404570
mov ecx, dword [0x42e27c]
mov edx, dword [0x42e278]
lea ebx, [ecx + 1]
imul ebx, ecx
and ebx, 1
cmp edx, 0xa
jl 0x404301
test ebx, ebx
je 0x404301
cmp dword [0x42e2d4], 0xa
jl 0x40417a
mov eax, dword [0x42e2d0]
lea ecx, [eax + 1]
imul ecx, eax
and ecx, 1
je 0x40417a
jmp 0x4042ff
mov ecx, 0x6b79a819
mov edx, 0x8120214d
mov dword [esi + 0x94], edx
mov dword [esi + 0x90], ecx
mov ecx, 0xa7eb8599
mov edx, 0xa09b96d8
mov dword [esi + 0x9c], edx
mov dword [esi + 0x98], ecx
jmp 0x404208
jmp 0x4042ff
cmp eax, 0xffffffff
mov eax, 0
setne al
mov dword [esi + 0x58], eax
jmp 0x403f77