Function at 0x412bd0
Capabilities:
Get system information on windows
Resolve function by fnv-1a hash

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 0x49b811
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2f0
mov eax, dword [0x4c0008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
sub esp, 0x18
mov dword [ebp - 4], 0
mov ecx, esp
push 0x4c25cc
call fcn.0040e210
lea eax, [ebp - 0x2d0]
push eax
call fcn.00417d90
push eax
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 1
push eax
call fcn.0041cd70
cmp dword [eax + 0x14], 8
jb 0x412c4c
mov eax, dword [eax]
push eax
call fcn.0041d6c0
mov ecx, dword [ebp - 0x210]
mov esi, eax
cmp ecx, 8
jb 0x412c94
mov edx, dword [ebp - 0x224]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x412c8a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b28
push ecx
push edx
call fcn.0041dd21
add esp, 8
xor eax, eax
mov dword [ebp - 0x214], 0
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0x210], 7
mov word [ebp - 0x224], ax
cmp ecx, 0x10
jb 0x412cee
mov edx, dword [ebp - 0x2d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x412ce4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b28
push ecx
push edx
call fcn.0041dd21
add esp, 8
push 0x53b2070f
push esi
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
call fcn.0041d590
sub esp, 0x18
mov edi, eax
mov ecx, esp
push 0x4c27b0
call fcn.0040e210
lea eax, [ebp - 0x1d8]
push eax
call fcn.00417d90
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 0x10
jb 0x412d3d
mov eax, dword [eax]
push eax
call edi
mov byte [ebp - 4], 0
mov edi, eax
mov ecx, dword [ebp - 0x1c4]
cmp ecx, 0x10
jb 0x412d80
mov edx, dword [ebp - 0x1d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x412d76
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b2d
push ecx
push edx
call fcn.0041dd21
add esp, 8
push 0xb0327e93
push edi
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0xf
mov byte [ebp - 0x1d8], 0
call fcn.0041d590
push 0xbdcac9ce
push esi
mov edi, eax
call fcn.0041d590
push 0x7f07c44a
push esi
mov dword [ebp - 0x2d4], eax
call fcn.0041d590
push 0xfaba0065
push esi
mov dword [ebp - 0x2d8], eax
call fcn.0041d590
push 3
xorps xmm0, xmm0
mov dword [ebp - 0x2b8], eax
push 0x4b9068
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x214], 0
movups xmmword [ebp - 0x224], xmm0
mov dword [ebp - 0x210], 0
call fcn.0040e870
mov byte [ebp - 4], 3
lea eax, [ebp - 0x264]
xorps xmm0, xmm0
mov dword [ebp - 0x244], 0
push eax
movups xmmword [ebp - 0x264], xmm0
movups xmmword [ebp - 0x254], xmm0
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ax, word [ebp - 0x264]
cmp ax, 9
je 0x412e4a
cmp ax, 6
jne 0x412e5c
push 3
push 0x4b906c
lea ecx, [ebp - 0x224]
call fcn.0040e310
push 1
call edi
mov ecx, eax
lea esi, [ebp - 0x1c3]
mov dword [ebp - 0x1bc], ecx
test ecx, ecx
jns 0x412ec0
neg ecx
mov dword [ebp - 0x1bc], ecx
nop word [eax + eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x1bc]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x1bc], eax
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
mov dword [ebp - 0x1bc], ecx
test ecx, ecx
jne 0x412e80
dec esi
mov byte [esi], 0x2d
jmp 0x412ef6
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x1bc]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x1bc], eax
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
mov dword [ebp - 0x1bc], ecx
test ecx, ecx
jne 0x412ec0
push ecx
lea eax, [ebp - 0x1c3]
push eax
push esi
lea ecx, [ebp - 0x300]
call fcn.0040ef30
push 0
mov byte [ebp - 4], 4
call edi
mov ecx, eax
lea esi, [ebp - 0x1f7]
mov dword [ebp - 0x1bc], ecx
test ecx, ecx
jns 0x412f70
neg ecx
mov dword [ebp - 0x1bc], ecx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x1bc]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x1bc], eax
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
mov dword [ebp - 0x1bc], ecx
test ecx, ecx
jne 0x412f30
dec esi
mov byte [esi], 0x2d
jmp 0x412fa6
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x1bc]
add cl, cl
sub al, cl
mov ecx, eax
mov dword [ebp - 0x1bc], eax
add cl, 0x30
mov byte [esi], cl
mov ecx, edx
mov dword [ebp - 0x1bc], ecx
test ecx, ecx
jne 0x412f70
push ecx
lea eax, [ebp - 0x1f7]
push eax
push esi
lea ecx, [ebp - 0x2d0]
call fcn.0040ef30
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2d0]
mov esi, dword [ebp - 0x2bc]
mov eax, esi
mov edx, dword [ebp - 0x2c0]
sub eax, edx
cmp eax, 1
jb 0x413001
cmp esi, 0x10
lea eax, [edx + 1]
mov dword [ebp - 0x2c0], eax
cmovae ecx, dword [ebp - 0x2d0]
mov al, byte [str.xopasrcgl]
mov byte [ecx + edx], al
lea eax, [ebp - 0x2d0]
mov byte [ecx + edx + 1], 0
jmp 0x41301c
push 1
push str.xopasrcgl
mov byte [ebp - 0x1bc], 0
push dword [ebp - 0x1bc]
push 1
call fcn.0040e980
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x300]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x2b8]
lea ecx, [ebp - 0x258]
call fcn.0040ec50
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x413096
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41308c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b32
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x2bc]
cmp ecx, 0x10
jb 0x4130d4
mov edx, dword [ebp - 0x2d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4130ca
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b32
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0xf
mov byte [ebp - 0x2d0], 0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x2ec]
cmp ecx, 0x10
jb 0x41312d
mov edx, dword [ebp - 0x300]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413123
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b32
push ecx
push edx
call fcn.0041dd21
add esp, 8
lea eax, [ebp - 0x1b8]
push eax
call fcn.004124d0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0xb
push eax
call fcn.00411cf0
lea eax, [ebp - 0x224]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x188]
call fcn.0040e210
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x170]
call fcn.0040e210
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov ecx, esp
push 0x4c2798
call fcn.0040e210
lea eax, [ebp - 0x300]
push eax
call fcn.00417d90
mov esi, eax
mov byte [ebp - 4], 0xf
cmp dword [esi + 0x14], 0x10
jb 0x4131a2
mov esi, dword [esi]
mov ecx, dword [0x4c2a78]
mov eax, ecx
mov edx, dword [0x4c2a7c]
or eax, edx
jne 0x4131c7
call fcn.00410fb0
mov ecx, eax
mov dword [0x4c2a7c], edx
mov dword [0x4c2a78], ecx
push edx
push ecx
mov edx, esi
call fcn.004113f0
mov byte [ebp - 4], 0xe
mov esi, edx
mov ecx, dword [ebp - 0x2ec]
mov edi, eax
mov dword [ebp - 0x1bc], esi
cmp ecx, 0x10
jb 0x41321e
mov esi, dword [ebp - 0x300]
inc ecx
mov eax, esi
cmp ecx, 0x1000
jb 0x41320e
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b37
push ecx
push esi
call fcn.0041dd21
mov esi, dword [ebp - 0x1bc]
add esp, 8
mov dword [ebp - 0x2f0], 0
mov dword [ebp - 0x2ec], 0xf
mov byte [ebp - 0x300], 0
test edi, edi
jne 0x41326b
test esi, esi
jne 0x41326b
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x148], esi
push 0x4b9048
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x144], esi
movups xmmword [ebp - 0x158], xmm0
call fcn.0040e870
jmp 0x4132e3
lea eax, [ebp - 0x1dc]
mov dword [ebp - 0x2e8], 0
cdq
push edx
push eax
push 0
push 0x40
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x2e4], 0
cdq
push edx
push eax
push 0
push 0
push 4
push esi
push edi
mov dword [ebp - 0x2e0], 0
call fcn.00411b90
add esp, 0x2c
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x2e8]
mov dword [ebp - 0x1bc], edx
call fcn.00410ef0
mov eax, dword [ebp - 0x2a4]
lea ecx, [ebp - 0x158]
mul dword [ebp - 0x2a8]
shrd eax, edx, 0x14
mov edx, eax
call fcn.00407280
sub esp, 0x18
mov byte [ebp - 4], 0x10
mov ecx, esp
push 0x4c2798
call fcn.0040e210
lea eax, [ebp - 0x2c]
push eax
call fcn.00417d90
mov esi, eax
mov byte [ebp - 4], 0x11
cmp dword [esi + 0x14], 0x10
jb 0x41330d
mov esi, dword [esi]
mov ecx, dword [0x4c2a78]
mov eax, ecx
mov edx, dword [0x4c2a7c]
or eax, edx
jne 0x413332
call fcn.00410fb0
mov ecx, eax
mov dword [0x4c2a7c], edx
mov dword [0x4c2a78], ecx
push edx
push ecx
mov edx, esi
call fcn.004113f0
mov byte [ebp - 4], 0x10
mov esi, edx
mov ecx, dword [ebp - 0x18]
mov edi, eax
mov dword [ebp - 0x1bc], esi
cmp ecx, 0x10
jb 0x413383
mov esi, dword [ebp - 0x2c]
inc ecx
mov eax, esi
cmp ecx, 0x1000
jb 0x413373
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b3c
push ecx
push esi
call fcn.0041dd21
mov esi, dword [ebp - 0x1bc]
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
test edi, edi
jne 0x4133c7
test esi, esi
jne 0x4133c7
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x130], esi
push 0x4b9048
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x12c], esi
movups xmmword [ebp - 0x140], xmm0
call fcn.0040e870
jmp 0x413428
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x200], 0
cdq
push edx
push eax
push 0
push 0xc
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1fc], 0
cdq
push edx
push eax
push 0
push 1
push 4
push esi
push edi
mov dword [ebp - 0x1f8], 0
call fcn.00411b90
add esp, 0x2c
lea ecx, [ebp - 0x200]
call fcn.00410ef0
movzx edx, word [ebp - 0x1c6]
lea ecx, [ebp - 0x140]
call fcn.00407280
lea eax, [ebp - 0x128]
mov byte [ebp - 4], 0x12
push eax
call fcn.00411ef0
lea eax, [ebx + 8]
mov byte [ebp - 4], 0x13
push eax
lea ecx, [ebp - 0x110]
call fcn.0040e210
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xf8]
push 1
xorps xmm0, xmm0
mov dword [ebp - 0xe8], 0
push 0x4b9074
movups xmmword [ebp - 0xf8], xmm0
mov dword [ebp - 0xe4], 0
call fcn.0040e870
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xe0]
push 1
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0
push 0x4b9078
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xcc], 0
call fcn.0040e870
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xc8]
push 1
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
push 0x4b907c
movups xmmword [ebp - 0xc8], xmm0
mov dword [ebp - 0xb4], 0
call fcn.0040e870
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xb0]
push 1
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0
push 0x4b9080
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0x9c], 0
call fcn.0040e870
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x98]
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x88], 0
push 0x4b9084
movups xmmword [ebp - 0x98], xmm0
mov dword [ebp - 0x84], 0
call fcn.0040e870
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x80]
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
push 0x4b9088
movups xmmword [ebp - 0x80], xmm0
mov dword [ebp - 0x6c], 0
call fcn.0040e870
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x68]
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x58], 0
push 0x4b908c
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x54], 0
call fcn.0040e870
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x50]
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
push 0x4b9090
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x3c], 0
call fcn.0040e870
mov byte [ebp - 4], 0x1c
movaps xmm0, xmmword [0x4baba0]
movups xmmword [ebp - 0x34], xmm0
push 1
xorps xmm0, xmm0
movups xmmword [ebp - 0x24], xmm0
call fcn.0041daa0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.0041c400
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x1d
push eax
call fcn.0041c880
mov edi, eax
mov byte [ebp - 4], 0x1e
mov edx, dword [edi + 0x14]
mov eax, edx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 0x29
jb 0x41364c
lea eax, [ecx + 0x29]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0x10
jb 0x413633
mov eax, dword [edi]
push 0x29
lea esi, [eax + ecx]
push 0x4b9094
push esi
call fcn.00473b00
add esp, 0xc
mov byte [esi + 0x29], 0
jmp 0x41366b
push 0x29
push 0x4b9094
mov byte [ebp - 0x1bc], 0
mov ecx, edi
push dword [ebp - 0x1bc]
push 0x29
call fcn.0040e980
mov edi, eax
mov dword [ebp - 0x1e4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1f4], xmm0
mov dword [ebp - 0x1e0], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x1f4], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x1e4], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x4136e9
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4136df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b41
push ecx
push edx
call fcn.0041dd21
add esp, 8
cmp dword [ebp - 0x1e0], 0x10
lea eax, [ebp - 0x1f4]
push 0
cmovae eax, dword [ebp - 0x1f4]
push 0x80
push 2
push 0
push 0
push 0x40000000
push eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call dword [ebp - 0x2d4]
cmp dword [ebp - 0x228], 0x10
lea ecx, [ebp - 0x23c]
push 0
cmovae ecx, dword [ebp - 0x23c]
mov esi, eax
lea eax, [ebp - 0x240]
push eax
push dword [ebp - 0x22c]
push ecx
push esi
call dword [ebp - 0x2d8]
push esi
call dword [ebp - 0x2b8]
push 0x4e018
push 1
call fcn.00477456
mov edi, eax
add esp, 8
test edi, edi
je 0x413792
sub esp, 8
mov dword [edi + 0x50], 6
mov ecx, edi
call fcn.00405690
add esp, 8
test eax, eax
jne 0x413794
push edi
call fcn.004793d4
add esp, 4
xor edi, edi
push 0x28
xorps xmm0, xmm0
mov dword [ebp - 0x1fc], 0
push str.b31be8c2_77e9_4613_b0b0_97210f55fa05.txt
lea ecx, [ebp - 0x20c]
mov dword [ebp - 0x1f8], 0
movups xmmword [ebp - 0x20c], xmm0
call fcn.0040e870
mov byte [ebp - 4], 0x21
lea edx, [ebp - 0x20c]
cmp dword [ebp - 0x1f8], 0x10
push ecx
cmovae edx, dword [ebp - 0x20c]
mov ecx, edi
call fcn.00406400
add esp, 4
lea edx, [ebp - 0x1f4]
cmp dword [ebp - 0x1e0], 0x10
mov ecx, edi
cmovae edx, dword [ebp - 0x1f4]
call fcn.00406ed0
mov ecx, edi
call fcn.004069e0
sub esp, 0x18
lea eax, [ebp - 0x1f4]
mov ecx, esp
push eax
call fcn.0040e210
call fcn.0040f1a0
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x1c8], 0
push 0x4b7db0
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x1c4], 0
movups xmmword [ebp - 0x1d8], xmm0
call fcn.0040e870
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x1d8]
cmp dword [ebp - 0x1c4], 0x10
mov esi, dword [ebp - 0x1c8]
cmovae ecx, dword [ebp - 0x1d8]
setae byte [ebp - 0x2b1]
test esi, esi
jne 0x4138d2
mov edx, 0x4b7db0
sub esi, 4
jb 0x413893
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x413898
add ecx, 4
add edx, 4
sub esi, 4
jae 0x413882
cmp esi, 0xfffffffc
je 0x4138cc
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4138c5
cmp esi, 0xfffffffd
je 0x4138cc
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4138c5
cmp esi, 0xfffffffe
je 0x4138cc
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x4138c5
cmp esi, 0xffffffff
je 0x4138cc
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x4138cc
sbb eax, eax
or eax, 1
jmp 0x4138ce
xor eax, eax
test eax, eax
je 0x4138d9
mov ecx, edi
call fcn.004128e0
sub esp, 0x18
xorps xmm0, xmm0
mov ecx, esp
push 0
movups xmmword [ecx], xmm0
push 0x4b7db0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.0040e870
push edi
call fcn.00414d60
cmp byte [ebp - 0x2b1], 0
mov byte [ebp - 4], 0x21
je 0x413946
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41393c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b46
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x1f8]
cmp ecx, 0x10
jb 0x413984
mov edx, dword [ebp - 0x20c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41397a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b46
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x1e0]
cmp ecx, 0x10
jb 0x4139c2
mov edx, dword [ebp - 0x1f4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4139b8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b46
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x228]
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0xf
mov byte [ebp - 0x1f4], 0
cmp ecx, 0x10
jb 0x413a1b
mov edx, dword [ebp - 0x23c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413a11
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b46
push ecx
push edx
call fcn.0041dd21
add esp, 8
push fcn.0040e180
push 8
push 0x18
lea eax, [ebp - 0xf8]
mov dword [ebp - 0x22c], 0
push eax
mov dword [ebp - 0x228], 0xf
mov byte [ebp - 0x23c], 0
mov byte [ebp - 4], 0x14
call fcn.0041de20
push fcn.0040e180
push 8
push 0x18
lea eax, [ebp - 0x1b8]
mov byte [ebp - 4], 0xa
push eax
call fcn.0041de20
mov ecx, dword [ebp - 0x244]
cmp ecx, 0x10
jb 0x413aa2
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413a98
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b46
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov ecx, dword [ebp - 0x210]
cmp ecx, 0x10
jb 0x413ad8
mov edx, dword [ebp - 0x224]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413ace
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b46
push ecx
push edx
call fcn.0041dd21
add esp, 8
mov ecx, dword [ebx + 0x1c]
cmp ecx, 0x10
jb 0x413b08
mov edx, dword [ebx + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x413afe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413b46
push ecx
push edx
call fcn.0041dd21
add esp, 8
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.0041d890
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0x18
call fcn.0047a537
call fcn.0047a537
call fcn.0047a537
call fcn.0047a537
call fcn.0047a537
call fcn.0047a537
call fcn.0047a537
int3