Function at 0x403ab0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b9f20
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x4e3180]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov dword [ebp - 4], 0
call fcn.00401bf0
call fcn.004024a0
call fcn.004035a0
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x30], 0xb0f45919
mov dword [ebp - 0x2c], 0x74cbbdd9
mov dword [ebp - 0x28], 0xd3fe530c
mov esi, dword [eax]
mov eax, dword [0x4e6028]
cmp eax, dword [esi + 4]
jle 0x403ba0
push 0x4e6028
call fcn.00434e40
add esp, 4
cmp dword [0x4e6028], 0xffffffff
jne 0x403ba0
xorps xmm0, xmm0
mov byte [0x4e5ec4], 1
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5eb8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403b89
cmp ecx, 0xc
jb 0x403b70
push 0x4be3a0
call fcn.00435110
push 0x4e6028
call fcn.00434def
add esp, 8
mov ecx, 0x4e5eb8
call fcn.00404f80
mov eax, dword [0x4e5c84]
mov dword [ebp - 0x30], 0xaaf74706
mov dword [ebp - 0x2c], 0x74c2b0d0
mov dword [ebp - 0x28], 0xd3fe530c
cmp eax, dword [esi + 4]
jle 0x403c30
push 0x4e5c84
call fcn.00434e40
add esp, 4
cmp dword [0x4e5c84], 0xffffffff
jne 0x403c30
xorps xmm0, xmm0
mov byte [0x4e5f2c], 1
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5f20], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403c19
cmp ecx, 0xc
jb 0x403c00
push 0x4be360
call fcn.00435110
push 0x4e5c84
call fcn.00434def
add esp, 8
mov ecx, 0x4e5f20
call fcn.00404f80
mov eax, dword [0x4e5fb8]
mov dword [ebp - 0x30], 0xb7a91811
mov dword [ebp - 0x2c], 0x3f8bb5d6
mov word [ebp - 0x28], 0x4e11
mov byte [ebp - 0x26], 0x9b
cmp eax, dword [esi + 4]
jle 0x403cc0
push 0x4e5fb8
call fcn.00434e40
add esp, 4
cmp dword [0x4e5fb8], 0xffffffff
jne 0x403cc0
xorps xmm0, xmm0
mov byte [0x4e5ef3], 1
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5ee8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403ca9
cmp ecx, 0xb
jb 0x403c90
push 0x4be320
call fcn.00435110
push 0x4e5fb8
call fcn.00434def
add esp, 8
mov ecx, 0x4e5ee8
call fcn.00404d40
mov eax, dword [0x4e5cac]
mov dword [ebp - 0x34], 0xa0fa470e
mov dword [ebp - 0x30], 0x28cca5c7
mov dword [ebp - 0x2c], 0xabfe050c
mov word [ebp - 0x28], 0xd2d1
cmp eax, dword [esi + 4]
jle 0x403d50
push 0x4e5cac
call fcn.00434e40
add esp, 4
cmp dword [0x4e5cac], 0xffffffff
jne 0x403d50
xorps xmm0, xmm0
mov byte [0x4e5f7e], 1
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
nop dword [eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [ecx + 0x4e5f70], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403d39
cmp ecx, 0xe
jb 0x403d20
push 0x4be2e0
call fcn.00435110
push 0x4e5cac
call fcn.00434def
add esp, 8
mov ecx, 0x4e5f70
call fcn.00404ec0
call fcn.00404600
mov ecx, eax
mov dword [ebp - 0x1c], eax
call fcn.004050a0
mov eax, dword [0x4e5eb0]
mov dword [ebp - 0x34], 0xb6e9423e
mov dword [ebp - 0x30], 0x28c4bac7
mov dword [ebp - 0x2c], 0xabfe0502
mov word [ebp - 0x28], 0xd2d1
cmp eax, dword [esi + 4]
jle 0x403df0
push 0x4e5eb0
call fcn.00434e40
add esp, 4
cmp dword [0x4e5eb0], 0xffffffff
jne 0x403df0
xorps xmm0, xmm0
mov byte [0x4e5c82], 1
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
nop dword [eax]
mov al, byte [ebp + ecx - 0x34]
mov byte [ecx + 0x4e5c74], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403dd9
cmp ecx, 0xe
jb 0x403dc0
push 0x4be260
call fcn.00435110
push 0x4e5eb0
call fcn.00434def
add esp, 8
mov ecx, 0x4e5c74
call fcn.00404ec0
mov eax, dword [0x4e5c4c]
mov dword [ebp - 0x30], 0xb7ff422f
mov dword [ebp - 0x2c], 0x74d7b7d8
mov dword [ebp - 0x28], 0xd3fe530c
cmp eax, dword [esi + 4]
jle 0x403e80
push 0x4e5c4c
call fcn.00434e40
add esp, 4
cmp dword [0x4e5c4c], 0xffffffff
jne 0x403e80
xorps xmm0, xmm0
mov byte [0x4e5f50], 1
movlpd qword [ebp - 0x18], xmm0
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5f44], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403e69
cmp ecx, 0xc
jb 0x403e50
push 0x4be220
call fcn.00435110
push 0x4e5c4c
call fcn.00434def
add esp, 8
mov ecx, 0x4e5f44
call fcn.00404f80
call fcn.004046a0
mov ecx, eax
mov dword [ebp - 0x14], eax
call fcn.00404c20
movaps xmm0, xmmword [0x4dbf50]
mov eax, dword [0x4e5f6c]
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0xb6b51f5f
mov word [ebp - 0x28], 0xb7cc
mov byte [ebp - 0x26], 0xa5
cmp eax, dword [esi + 4]
jle 0x403f20
push 0x4e5f6c
call fcn.00434e40
add esp, 4
cmp dword [0x4e5f6c], 0xffffffff
jne 0x403f20
xorps xmm0, xmm0
mov byte [0x4e5cfb], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop dword [eax]
mov al, byte [ebp + ecx - 0x3c]
mov byte [ecx + 0x4e5ce4], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403f09
cmp ecx, 0x17
jb 0x403ef0
push 0x4be1a0
call fcn.00435110
push 0x4e5f6c
call fcn.00434def
add esp, 8
mov ecx, 0x4e5ce4
call fcn.00404bc0
mov eax, dword [0x4e5efc]
mov dword [ebp - 0x2c], 0xa2fa4f00
mov dword [ebp - 0x28], 0x3fddb79a
mov byte [ebp - 0x24], 0x69
cmp eax, dword [esi + 4]
jle 0x403fb0
push 0x4e5efc
call fcn.00434e40
add esp, 4
cmp dword [0x4e5efc], 0xffffffff
jne 0x403fb0
xorps xmm0, xmm0
mov byte [0x4e5d29], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop dword [eax]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x2c]
mov byte [ecx + 0x4e5d20], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x403f99
cmp ecx, 9
jb 0x403f80
push 0x4be160
call fcn.00435110
push 0x4e5efc
call fcn.00434def
add esp, 8
mov ecx, 0x4e5d20
call fcn.00405040
mov eax, dword [0x4e5db4]
mov dword [ebp - 0x30], 0xa1c8663f
mov dword [ebp - 0x2c], 0x3f8bb1c2
mov word [ebp - 0x28], 0x4e11
mov byte [ebp - 0x26], 0x9b
cmp eax, dword [esi + 4]
jle 0x404040
push 0x4e5db4
call fcn.00434e40
add esp, 4
cmp dword [0x4e5db4], 0xffffffff
jne 0x404040
xorps xmm0, xmm0
mov byte [0x4e5ee3], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5ed8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x404029
cmp ecx, 0xb
jb 0x404010
push 0x4be120
call fcn.00435110
push 0x4e5db4
call fcn.00434def
add esp, 8
mov ecx, 0x4e5ed8
call fcn.00404d40
mov eax, dword [0x4e5c50]
mov dword [ebp - 0x30], 0x80ce663f
mov dword [ebp - 0x2c], 0x74c6a4c6
mov dword [ebp - 0x28], 0xd3fe530c
cmp eax, dword [esi + 4]
jle 0x4040d0
push 0x4e5c50
call fcn.00434e40
add esp, 4
cmp dword [0x4e5c50], 0xffffffff
jne 0x4040d0
xorps xmm0, xmm0
mov byte [0x4e5fe8], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5fdc], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4040b9
cmp ecx, 0xc
jb 0x4040a0
push 0x4be0e0
call fcn.00435110
push 0x4e5c50
call fcn.00434def
add esp, 8
mov ecx, 0x4e5fdc
call fcn.00404f80
movaps xmm0, xmmword [0x4dc310]
mov eax, dword [0x4e5c44]
movups xmmword [ebp - 0x34], xmm0
mov byte [ebp - 0x24], 0x69
cmp eax, dword [esi + 4]
jle 0x404151
push 0x4e5c44
call fcn.00434e40
add esp, 4
cmp dword [0x4e5c44], 0xffffffff
jne 0x404151
xorps xmm0, xmm0
mov byte [0x4e5dc9], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov al, byte [ebp + ecx - 0x34]
mov byte [ecx + 0x4e5db8], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x40413a
cmp ecx, 0x11
jb 0x404121
push 0x4be0a0
call fcn.00435110
push 0x4e5c44
call fcn.00434def
add esp, 8
mov ecx, 0x4e5db8
call fcn.00404b60
mov eax, dword [0x4e5e88]
mov dword [ebp - 0x30], 0xb7f5421e
mov dword [ebp - 0x2c], 0x3f8bb5d6
mov word [ebp - 0x28], 0x4e11
mov byte [ebp - 0x26], 0x9b
cmp eax, dword [esi + 4]
jle 0x4041e0
push 0x4e5e88
call fcn.00434e40
add esp, 4
cmp dword [0x4e5e88], 0xffffffff
jne 0x4041e0
xorps xmm0, xmm0
mov byte [0x4e5f67], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5f5c], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4041c9
cmp ecx, 0xb
jb 0x4041b0
push 0x4be060
call fcn.00435110
push 0x4e5e88
call fcn.00434def
add esp, 8
mov ecx, 0x4e5f5c
call fcn.00404d40
mov eax, dword [0x4e5e90]
mov dword [ebp - 0x30], 0xa3f65e0d
mov dword [ebp - 0x2c], 0x74d5b3d7
mov dword [ebp - 0x28], 0xd3fe530c
cmp eax, dword [esi + 4]
jle 0x404270
push 0x4e5e90
call fcn.00434e40
add esp, 4
cmp dword [0x4e5e90], 0xffffffff
jne 0x404270
xorps xmm0, xmm0
mov byte [0x4e5fc8], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5fbc], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x404259
cmp ecx, 0xc
jb 0x404240
push 0x4be020
call fcn.00435110
push 0x4e5e90
call fcn.00434def
add esp, 8
mov ecx, 0x4e5fbc
call fcn.00404f80
movaps xmm0, xmmword [0x4dc020]
mov eax, dword [0x4e5fcc]
movups xmmword [ebp - 0x38], xmm0
mov word [ebp - 0x28], 0x2b0c
cmp eax, dword [esi + 4]
jle 0x4042f3
push 0x4e5fcc
call fcn.00434e40
add esp, 4
cmp dword [0x4e5fcc], 0xffffffff
jne 0x4042f3
xorps xmm0, xmm0
mov byte [0x4e5eaa], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + 0x4e5e98], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4042dc
cmp ecx, 0x12
jb 0x4042c3
push 0x4bdfe0
call fcn.00435110
push 0x4e5fcc
call fcn.00434def
add esp, 8
mov ecx, 0x4e5e98
call fcn.00404c80
mov eax, dword [0x4e5eac]
mov dword [ebp - 0x30], 0xa7ef5e0a
mov dword [ebp - 0x2c], 0x3f8ba0d1
mov word [ebp - 0x28], 0x4e11
mov byte [ebp - 0x26], 0x9b
cmp eax, dword [esi + 4]
jle 0x404380
push 0x4e5eac
call fcn.00434e40
add esp, 4
cmp dword [0x4e5eac], 0xffffffff
jne 0x404380
xorps xmm0, xmm0
mov byte [0x4e5e5b], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop dword [eax]
mov al, byte [ebp + ecx - 0x30]
mov byte [ecx + 0x4e5e50], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x404369
cmp ecx, 0xb
jb 0x404350
push 0x4bdfa0
call fcn.00435110
push 0x4e5eac
call fcn.00434def
add esp, 8
mov ecx, 0x4e5e50
call fcn.00404d40
movaps xmm0, xmmword [0x4dc030]
mov eax, dword [0x4e5ce0]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0xb6e34e47
mov byte [ebp - 0x24], 0xb4
cmp eax, dword [esi + 4]
jle 0x404410
push 0x4e5ce0
call fcn.00434e40
add esp, 4
cmp dword [0x4e5ce0], 0xffffffff
jne 0x404410
xorps xmm0, xmm0
mov byte [0x4e5c71], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x38]
mov byte [ecx + 0x4e5c5c], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x4043f9
cmp ecx, 0x15
jb 0x4043e0
push 0x4bdf60
call fcn.00435110
push 0x4e5ce0
call fcn.00434def
add esp, 8
mov ecx, 0x4e5c5c
call fcn.00404b00
call fcn.00404740
mov edi, eax
mov ecx, edi
call fcn.00404c20
movaps xmm0, xmmword [0x4dbf50]
mov eax, dword [0x4e5d3c]
movups xmmword [ebp - 0x44], xmm0
mov byte [ebp - 0x24], 0x69
movaps xmm0, xmmword [0x4dc320]
movups xmmword [ebp - 0x34], xmm0
cmp eax, dword [esi + 4]
jle 0x4044b0
push 0x4e5d3c
call fcn.00434e40
add esp, 4
cmp dword [0x4e5d3c], 0xffffffff
jne 0x4044b0
xorps xmm0, xmm0
mov byte [0x4e5db1], 1
movlpd qword [ebp - 0x4c], xmm0
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x44]
mov byte [ecx + 0x4e5d90], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x404499
cmp ecx, 0x21
jb 0x404480
push 0x4bdee0
call fcn.00435110
push 0x4e5d3c
call fcn.00434def
add esp, 8
mov ecx, 0x4e5d90
call fcn.00404aa0
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x9c]
push 0x14
push eax
mov dword [ebp - 0x9c], 0x4e5eb8
mov dword [ebp - 0x98], 0x4e5f20
mov dword [ebp - 0x94], 0x4e5ee8
mov dword [ebp - 0x90], 0x4e5f70
mov dword [ebp - 0x88], 0x4e5c74
mov dword [ebp - 0x84], 0x4e5f44
mov dword [ebp - 0x7c], 0x4e5ce4
mov dword [ebp - 0x78], 0x4e5d20
mov dword [ebp - 0x74], 0x4e5ed8
mov dword [ebp - 0x70], 0x4e5fdc
mov dword [ebp - 0x6c], 0x4e5db8
mov dword [ebp - 0x68], 0x4e5f5c
mov dword [ebp - 0x64], 0x4e5fbc
mov dword [ebp - 0x60], 0x4e5e98
mov dword [ebp - 0x5c], 0x4e5e50
mov dword [ebp - 0x58], 0x4e5c5c
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], 0x4e5d90
call fcn.00405140
mov ecx, ebx
call fcn.00403790
push 8
call fcn.00434ea4
mov dword [ebp - 0x14], eax
mov dword [eax], ebx
mov dword [eax + 4], 0x4039a0
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 1
push ecx
push 0
push eax
push 0x405450
push 0
push 0
call fcn.0043a360
add esp, 0x1c
mov dword [ebp - 0x20], eax
test eax, eax
je 0x4045db
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x4045e9
push ecx
push eax
call fcn.0043264f
add esp, 8
test eax, eax
jne 0x4045e9
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00434db6
mov esp, ebp
pop ebp
ret 0x10
push 6
mov dword [ebp - 0x1c], 0
call fcn.004322a4
push 1
call fcn.004322a4
int3