Function at 0x40c617
Capabilities:
Manipulate boot configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x4021c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0xc0
call fcn.004021c0
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x401c30
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call fcn.004024c6
mov dword [ebp - 4], 3
mov edx, 0x4041fc
lea ecx, [ebp - 0x38]
call fcn.004024b4
mov dword [ebp - 4], 4
push 7
mov eax, dword [ebp + 8]
push dword [eax]
push 0x404e80
push 0
call fcn.0040232e
mov ecx, eax
call fcn.0040234c
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 5
mov dword [ebp - 0xac], 0x404e88
mov dword [ebp - 0xb4], 8
mov dword [ebp - 0x5c], 0x80020004
mov dword [ebp - 0x64], 0xa
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x94], 0x4008
lea eax, [ebp - 0x64]
push eax
mov ax, word [ebp - 0x28]
add ax, 1
jo 0x40d04e
movsx eax, ax
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040241e
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00402424
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push eax
push 3
call fcn.0040244e
add esp, 0x10
mov dword [ebp - 4], 6
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404e90
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 7
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404e9c
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 8
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404c40
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 9
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404ea8
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0xa
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404eb0
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0xb
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404eb8
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0xc
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404ec0
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0xd
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404654
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0xe
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404ed0
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0xf
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404ee4
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x10
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404ef8
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x11
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f08
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x12
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f18
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x13
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f2c
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x14
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404e80
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x15
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404f38
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x16
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f40
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x17
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404f48
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x18
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f50
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x19
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f58
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x1a
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f60
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x1b
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f68
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x1c
push 0
push 0xffffffffffffffff
push 1
push 0x4041fc
push 0x404f70
push dword [ebp - 0x3c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x3c]
call fcn.004024c0
mov dword [ebp - 4], 0x1d
push dword [ebp - 0x3c]
call fcn.004024ba
mov ecx, eax
call fcn.0040234c
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 0x1e
and word [ebp - 0x34], 0
mov dword [ebp - 4], 0x1f
mov ax, word [ebp - 0x28]
mov word [ebp - 0xc0], ax
mov word [ebp - 0xbc], 1
mov word [ebp - 0x24], 1
jmp 0x40cb52
mov ax, word [ebp - 0x24]
add ax, word [ebp - 0xbc]
jo 0x40d04e
mov word [ebp - 0x24], ax
mov ax, word [ebp - 0x24]
cmp ax, word [ebp - 0xc0]
jg 0x40cc6a
mov dword [ebp - 4], 0x20
mov dword [ebp - 0x5c], 1
mov dword [ebp - 0x64], 2
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x94], 0x4008
lea eax, [ebp - 0x64]
push eax
movsx eax, word [ebp - 0x24]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x74]
push eax
call fcn.0040241e
lea eax, [ebp - 0x74]
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.004024c0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x64]
push eax
push 2
call fcn.0040244e
add esp, 0xc
mov dword [ebp - 4], 0x21
push dword [ebp - 0x50]
push 0x404e88
call fcn.0040231c
test eax, eax
jne 0x40cc0d
mov dword [ebp - 4], 0x22
and word [ebp - 0x34], 0
mov dword [ebp - 4], 0x23
push dword [ebp - 0x2c]
push 0x404c80
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.004024c0
jmp 0x40cc5e
mov dword [ebp - 4], 0x24
push dword [ebp - 0x50]
push 0x404f78
call fcn.0040231c
test eax, eax
jne 0x40cc33
mov dword [ebp - 4], 0x25
or word [ebp - 0x34], 0xffff
jmp 0x40cc5e
mov dword [ebp - 4], 0x26
movsx eax, word [ebp - 0x34]
test eax, eax
je 0x40cc5e
mov dword [ebp - 4], 0x27
push dword [ebp - 0x2c]
push dword [ebp - 0x50]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.004024c0
mov dword [ebp - 4], 0x29
jmp 0x40cb3d
mov dword [ebp - 4], 0x2a
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404bb4
push dword [ebp - 0x2c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.004024c0
mov dword [ebp - 4], 0x2b
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x94], 0x4008
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00402454
lea eax, [ebp - 0x64]
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.004024c0
lea ecx, [ebp - 0x64]
call fcn.00402490
mov dword [ebp - 4], 0x2d
push 0
push 0xffffffffffffffff
push 1
push 0x404c80
push 0x404f80
push dword [ebp - 0x2c]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.004024c0
mov dword [ebp - 4], 0x2e
push 1
push dword [ebp - 0x2c]
push 0x404f80
push 0
call fcn.0040232e
test eax, eax
jg 0x40ccd8
mov dword [ebp - 4], 0x2f
mov dword [ebp - 0x8c], 0x404c80
mov dword [ebp - 0x94], 8
lea edx, [ebp - 0x94]
lea ecx, [ebp - 0x64]
call fcn.004023ee
push 0
push 0xffffffffffffffff
lea eax, [ebp - 0x64]
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x74]
push eax
call fcn.00402316
lea edx, [ebp - 0x74]
lea ecx, [ebp - 0x4c]
call fcn.00402418
lea ecx, [ebp - 0x64]
call fcn.00402490
mov dword [ebp - 4], 0x30
lea eax, [ebp - 0x4c]
push eax
call fcn.00402310
push dword [eax]
push 1
call fcn.0040236a
mov ecx, eax
call fcn.0040234c
mov word [ebp - 0xc8], ax
mov word [ebp - 0xc4], 1
and word [ebp - 0x24], 0
jmp 0x40cdb9
mov ax, word [ebp - 0x24]
add ax, word [ebp - 0xc4]
jo 0x40d04e
mov word [ebp - 0x24], ax
mov ax, word [ebp - 0x24]
cmp ax, word [ebp - 0xc8]
jg 0x40cf15
mov dword [ebp - 4], 0x31
lea eax, [ebp - 0x24]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x94], 0x4002
push 0x10
pop eax
call fcn.004021c0
lea esi, [ebp - 0x94]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00402304
add esp, 0x1c
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.004024c0
lea ecx, [ebp - 0x64]
call fcn.00402490
mov dword [ebp - 4], 0x32
push dword [ebp - 0x50]
call fcn.004024ba
mov ecx, eax
call fcn.0040234c
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 0x33
lea eax, [ebp - 0x50]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x94], 0x4008
lea eax, [ebp - 0x94]
push eax
call fcn.00402298
movsx eax, ax
test eax, eax
jne 0x40ce80
cmp word [ebp - 0x28], 1
jle 0x40ce80
cmp word [ebp - 0x28], 0x64
jge 0x40ce80
and dword [ebp - 0xe0], 0
jmp 0x40ce8a
mov dword [ebp - 0xe0], 1
push 1
push dword [ebp - 0x50]
push 0x404f8c
push 0
call fcn.0040232e
xor ecx, ecx
cmp eax, 1
setge cl
mov esi, dword [ebp - 0xe0]
or esi, ecx
neg esi
sbb esi, esi
neg esi
push 1
push dword [ebp - 0x50]
push 0x404164
push 0
call fcn.0040232e
xor ecx, ecx
cmp eax, 1
setge cl
or esi, ecx
test esi, esi
jne 0x40cf09
mov dword [ebp - 4], 0x34
push dword [ebp - 0x30]
push dword [ebp - 0x50]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
push eax
push 0x404bb4
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x30]
call fcn.004024c0
lea ecx, [ebp - 0x54]
call fcn.00402496
mov dword [ebp - 4], 0x36
jmp 0x40cda4
mov dword [ebp - 4], 0x37
lea eax, [ebp - 0x30]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x94], 0x4008
push 1
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.00402292
mov dword [ebp - 0x9c], 0x404bb4
mov dword [ebp - 0xa4], 0x8008
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.0040240c
mov word [ebp - 0xb8], ax
lea ecx, [ebp - 0x64]
call fcn.00402490
movsx eax, word [ebp - 0xb8]
test eax, eax
je 0x40cfd6
mov dword [ebp - 4], 0x38
lea eax, [ebp - 0x30]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x94], 0x4008
push dword [ebp - 0x30]
call fcn.004024ba
sub eax, 1
jo 0x40d04e
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.0040246c
lea eax, [ebp - 0x64]
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.004024c0
lea ecx, [ebp - 0x64]
call fcn.00402490
push 0x40d03a
jmp 0x40d011
lea ecx, [ebp - 0x2c]
call fcn.00402496
lea ecx, [ebp - 0x30]
call fcn.00402496
lea ecx, [ebp - 0x3c]
call fcn.00402496
lea ecx, [ebp - 0x4c]
call fcn.00402490
lea ecx, [ebp - 0x50]
call fcn.00402496
ret
call fcn.004023be
push ebp
mov ebp, esp
sub esp, 0x18
push 0x4021c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0xe4
call fcn.004021c0
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x401d38
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call fcn.004024c6
mov dword [ebp - 4], 3
lea eax, [ebp - 0x70]
push eax
call fcn.004023e2
mov eax, dword [ebp + 8]
push dword [eax]
push dword [0x41202c]
push 1
call fcn.004023dc
neg ax
sbb eax, eax
inc eax
neg eax
mov word [ebp - 0xc8], ax
mov dword [ebp - 0xd0], 0xb
mov dword [ebp - 0xa8], 0x412030
mov dword [ebp - 0xb0], 0x4007
push 1
push 1
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0xb0]
push eax
push 0x404934
lea eax, [ebp - 0x80]
push eax
call fcn.004023c4
mov dword [ebp - 0xb8], 3
mov dword [ebp - 0xc0], 0x8002
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.0040228c
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.004022e0
push eax
call fcn.004022e6
mov word [ebp - 0xe8], ax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push 3
call fcn.0040244e
add esp, 0x10
movsx eax, word [ebp - 0xe8]
test eax, eax
je 0x40d187
jmp 0x40db0f
mov dword [ebp - 4], 6
push 1
mov eax, dword [ebp + 8]
push dword [eax]
push 0x404f94
push 1
call fcn.0040232e
mov ecx, eax
add ecx, 2
jo 0x40db8c
call fcn.0040234c
mov word [ebp - 0x24], ax
mov dword [ebp - 4], 7
cmp word [ebp - 0x24], 1
jle 0x40d99d
mov dword [ebp - 4], 8
push 7
mov eax, dword [ebp + 8]
push dword [eax]
push 0x404e80
push 1
call fcn.0040232e
test eax, eax
je 0x40d998
mov dword [ebp - 4], 9
push 0xa
mov eax, dword [ebp + 8]
push dword [eax]
push 0x404f8c
push 1
call fcn.0040232e
mov ecx, eax
call fcn.0040234c
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 0xa
mov ax, word [ebp - 0x28]
sub ax, word [ebp - 0x24]
jo 0x40db8c
mov word [ebp - 0x68], ax
mov dword [ebp - 0x70], 2
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], 0x4008
lea eax, [ebp - 0x70]
push eax
movsx eax, word [ebp - 0x24]
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0040241e
lea eax, [ebp - 0x80]
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x50]
call fcn.004024c0
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push 2
call fcn.0040244e
add esp, 0xc
mov dword [ebp - 4], 0xb
mov edx, 0x404294
lea ecx, [ebp - 0x58]
call fcn.004024b4
push dword [0x41201c]
push 0x4047b4
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0040c472
mov edx, eax
lea ecx, [ebp - 0x30]
call fcn.004024c0
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push 2
call fcn.004024a8
add esp, 0xc
mov dword [ebp - 4], 0xc
push dword [ebp - 0x30]
call fcn.004024ba
test eax, eax
jle 0x40d7ba
mov dword [ebp - 4], 0xd
push 0
push 0xffffffffffffffff
push 1
push 0x404e88
push 0x404e80
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.00402436
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.004024c0
mov dword [ebp - 4], 0xe
mov dword [ebp - 0xa8], 0x404f38
mov dword [ebp - 0xb0], 8
lea edx, [ebp - 0xb0]
lea ecx, [ebp - 0x70]
call fcn.004023ee
push 0
push 0xffffffffffffffff
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x30]
lea eax, [ebp - 0x80]
push eax
call fcn.00402316
lea edx, [ebp - 0x80]
lea ecx, [ebp - 0x4c]
call fcn.00402418
lea ecx, [ebp - 0x70]
call fcn.00402490
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x4c]
push eax
call fcn.00402310
push dword [eax]
push 1
call fcn.0040236a
mov ecx, eax
call fcn.0040234c
mov word [ebp - 0xf0], ax
mov word [ebp - 0xec], 1
and word [ebp - 0x2c], 0
jmp 0x40d3b8
mov ax, word [ebp - 0x2c]
add ax, word [ebp - 0xec]
jo 0x40db8c
mov word [ebp - 0x2c], ax
mov ax, word [ebp - 0x2c]
cmp ax, word [ebp - 0xf0]
jg 0x40d593
mov dword [ebp - 4], 0x10
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xe0], 8
mov dword [ebp - 0xb8], 0x404e88
mov dword [ebp - 0xc0], 8
lea eax, [ebp - 0x2c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], 0x4002
mov dword [ebp - 0xc8], 0x404f78
mov dword [ebp - 0xd0], 8
movsx eax, word [ebp - 0x28]
push eax
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0xc0]
push eax
push 0x10
pop eax
call fcn.004021c0
lea esi, [ebp - 0xb0]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00402304
add esp, 0x1c
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00402424
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00402424
push eax
push 1
lea eax, [ebp - 0xa0]
push eax
call fcn.004022ec
push eax
call fcn.004022f2
mov word [ebp - 0x24], ax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push 4
call fcn.0040244e
add esp, 0x14
mov dword [ebp - 4], 0x11
mov ax, word [ebp - 0x24]
cmp ax, word [ebp - 0x28]
jle 0x40d587
mov dword [ebp - 4], 0x12
mov dword [ebp - 0xb8], 0x404e88
mov dword [ebp - 0xc0], 8
lea eax, [ebp - 0x2c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], 0x4002
mov dword [ebp - 0xc8], 0x404f78
mov dword [ebp - 0xd0], 8
lea eax, [ebp - 0xc0]
push eax
push 0x10
pop eax
call fcn.004021c0
lea esi, [ebp - 0xb0]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00402304
add esp, 0x1c
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00402424
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00402424
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x30]
call fcn.004024c0
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push 3
call fcn.0040244e
add esp, 0x10
mov dword [ebp - 4], 0x13
or word [ebp - 0x3c], 0xffff
jmp 0x40d593
mov dword [ebp - 4], 0x16
jmp 0x40d3a3
mov dword [ebp - 4], 0x17
movsx eax, word [ebp - 0x3c]
test eax, eax
je 0x40d6de
mov dword [ebp - 4], 0x18
push dword [ebp - 0x30]
call fcn.004024ba
mov ecx, eax
movsx eax, word [ebp - 0x24]
add ecx, eax
jo 0x40db8c
call fcn.0040234c
mov word [ebp - 0x24], ax
mov dword [ebp - 4], 0x19
movsx eax, word [ebp - 0x24]
push eax
push dword [ebp - 0x38]
push 0x404e88
push 1
call fcn.0040232e
mov ecx, eax
call fcn.0040234c
mov word [ebp - 0x28], ax
mov dword [ebp - 4], 0x1a
mov ax, word [ebp - 0x28]
cmp ax, word [ebp - 0x24]
jle 0x40d676
mov dword [ebp - 4], 0x1b
mov ax, word [ebp - 0x28]
sub ax, word [ebp - 0x24]
jo 0x40db8c
mov word [ebp - 0x68], ax
mov dword [ebp - 0x70], 2
lea eax, [ebp - 0x38]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], 0x4008
lea eax, [ebp - 0x70]
push eax
movsx eax, word [ebp - 0x24]
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0040241e
lea eax, [ebp - 0x80]
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.004024c0
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push 2
call fcn.0040244e
add esp, 0xc
jmp 0x40d6dc
mov dword [ebp - 4], 0x1d
mov dword [ebp - 0x68], 0x80020004
mov dword [ebp - 0x70], 0xa
lea eax, [ebp - 0x38]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], 0x4008
lea eax, [ebp - 0x70]
push eax
movsx eax, word [ebp - 0x24]
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.0040241e
lea eax, [ebp - 0x80]
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.004024c0
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push 2
call fcn.0040244e
add esp, 0xc
jmp 0x40d6f7
mov dword [ebp - 4], 0x20
push dword [ebp + 8]
call fcn.0040c617
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.004024c0
mov dword [ebp - 4], 0x22
push 0x404fa0
push dword [ebp - 0x50]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
push eax
push 0x404f78
call fcn.004024ae
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x70], 8
lea eax, [ebp - 0x2c]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb0], 0x4002
lea eax, [ebp - 0x70]
push eax
push 0x10
pop eax
call fcn.004021c0
lea esi, [ebp - 0xb0]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 1
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00402304
add esp, 0x1c
push eax
lea eax, [ebp - 0x90]
push eax
call fcn.00402424
push eax
call fcn.0040248a
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.004024c0
lea eax, [ebp - 0x58]
push eax
call fcn.0040ede5
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push 2
call fcn.004024a8
add esp, 0xc
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x70]
push eax
push 3
call fcn.0040244e
add esp, 0x10
jmp 0x40d804
mov dword [ebp - 4], 0x24
push dword [ebp + 8]
call fcn.0040c617
mov edx, eax
lea ecx, [ebp - 0x34]
call fcn.004024c0
mov dword [ebp - 4], 0x25
push 0x404fbc
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
lea eax, [ebp - 0x54]
push eax
call fcn.0040ede5
lea ecx, [ebp - 0x54]
call fcn.00402496
mov dword [ebp - 4], 0x27
push dword [ebp - 0x34]
call fcn.004024ba
test eax, eax
jle 0x40d967
mov dword [ebp - 4], 0x28
push 0x404ff4
push dword [0x412028]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
push eax
push 0x405004
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.004024c0
push eax
push dword [ebp - 0x34]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x5c]
call fcn.004024c0
push eax
push 0x405014
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x60]
call fcn.004024c0
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.004024c0
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push 4
call fcn.004024a8
add esp, 0x14
mov dword [ebp - 4], 0x29
push 0x40502c
push dword [ebp - 0x38]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
lea eax, [ebp - 0x54]
push eax
call fcn.0040a29d
lea ecx, [ebp - 0x54]
call fcn.00402496
mov dword [ebp - 4], 0x2a
call fcn.00403ea4
mov dword [ebp - 0xe4], eax
call fcn.00402478
mov eax, dword [ebp - 0xe4]
mov dword [0x41203c], eax
mov dword [ebp - 4], 0x2b
lea eax, [ebp - 0x70]
push eax
call fcn.004023e2
lea eax, [ebp - 0x70]
push eax
call fcn.004023d6
fstp qword [0x412030]
lea ecx, [ebp - 0x70]
call fcn.00402490
mov dword [ebp - 4], 0x2c
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, 0x41202c
call fcn.004024b4
mov dword [ebp - 4], 0x2d
push 0x405048
push dword [ebp - 0x38]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
lea eax, [ebp - 0x54]
push eax
call fcn.0040ede5
lea ecx, [ebp - 0x54]
call fcn.00402496
jmp 0x40d998
mov dword [ebp - 4], 0x2f
push 0x40505c
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
lea eax, [ebp - 0x54]
push eax
call fcn.0040ede5
lea ecx, [ebp - 0x54]
call fcn.00402496
jmp 0x40db0f
mov dword [ebp - 4], 0x33
mov eax, dword [ebp + 8]
mov edx, dword [eax]
lea ecx, [ebp - 0x34]
call fcn.004024b4
mov dword [ebp - 4], 0x34
mov edx, 0x405084
mov ecx, dword [ebp + 8]
call fcn.004024b4
mov dword [ebp - 4], 0x35
push 0x404ff4
push dword [0x412028]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
push eax
push 0x405004
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x58]
call fcn.004024c0
push eax
push dword [ebp - 0x34]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x5c]
call fcn.004024c0
push eax
push 0x405014
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x60]
call fcn.004024c0
push eax
mov eax, dword [ebp + 8]
push dword [eax]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x38]
call fcn.004024c0
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x54]
push eax
push 4
call fcn.004024a8
add esp, 0x14
mov dword [ebp - 4], 0x36
push 0x40509c
push dword [ebp - 0x38]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
lea eax, [ebp - 0x54]
push eax
call fcn.0040a29d
lea ecx, [ebp - 0x54]
call fcn.00402496
mov dword [ebp - 4], 0x37
call fcn.00403ea4
mov dword [ebp - 0xe4], eax
call fcn.00402478
mov eax, dword [ebp - 0xe4]
mov dword [0x41203c], eax
mov dword [ebp - 4], 0x38
lea eax, [ebp - 0x70]
push eax
call fcn.004023e2
lea eax, [ebp - 0x70]
push eax
call fcn.004023d6
fstp qword [0x412030]
lea ecx, [ebp - 0x70]
call fcn.00402490
mov dword [ebp - 4], 0x39
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ecx, 0x41202c
call fcn.004024b4
mov dword [ebp - 4], 0x3a
push 0x405048
push dword [ebp - 0x38]
call fcn.004024ae
mov edx, eax
lea ecx, [ebp - 0x54]
call fcn.004024c0
lea eax, [ebp - 0x54]
push eax
call fcn.0040ede5
lea ecx, [ebp - 0x54]
call fcn.00402496
wait
push 0x40db7b
jmp 0x40db52
lea ecx, [ebp - 0x30]
call fcn.00402496
lea ecx, [ebp - 0x34]
call fcn.00402496
lea ecx, [ebp - 0x38]
call fcn.00402496
lea ecx, [ebp - 0x4c]
call fcn.00402490
lea ecx, [ebp - 0x50]
call fcn.00402496
ret
call fcn.004023be