Function at 0x40ac60
Capabilities:
Check os version
Parse pe header
Query or enumerate registry value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a8828
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
push edi
mov eax, dword [0x4dc6e0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0xc]
push 1
mov dword [0x4de448], edi
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov eax, dword [0x4de02c]
mov ebx, dword [sym.imp.KERNEL32.dll_TlsSetValue]
test eax, eax
je 0x40acb9
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
mov eax, dword [ebp + 8]
mov esi, dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, 0x100
je 0x40ad9f
mov dword [0x4df730], 0x100
cmp edi, 2
je 0x40ace1
cmp edi, 1
jne 0x40acfb
push 0x4b068c
push 0x4b06a8
push dword [section..data]
push 0
call fcn.0040f6e0
add esp, 0x10
cmp edi, 2
je 0x40ad05
cmp edi, 1
jne 0x40ad1f
push 0x4b070c
push 0x4b06a8
push dword [section..data]
push 0
call fcn.0040f6e0
add esp, 0x10
cmp edi, 2
je 0x40ad29
cmp edi, 1
jne 0x40ad43
push 0x4b0728
push 0x4b06a8
push dword [section..data]
push 0
call fcn.0040f6e0
add esp, 0x10
cmp edi, 2
je 0x40ad4d
cmp edi, 1
jne 0x40ad67
push 0x4b0738
push 0x4b06a8
push dword [section..data]
push 0
call fcn.0040f6e0
add esp, 0x10
call esi
cmp al, 6
jb 0x40ad9c
call esi
shr eax, 8
cmp al, 1
jb 0x40ad9c
cmp edi, 2
je 0x40ad80
cmp edi, 1
jne 0x40ad9c
push 0x20
push 0x4b075c
push 0x4b07a0
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
mov eax, dword [ebp + 8]
test eax, 0x40000
je 0x40adbd
push 0
mov dword [0x4df730], 0x40000
call fcn.0041be20
mov eax, dword [ebp + 8]
add esp, 4
test eax, 0x200
je 0x40b06c
mov dword [0x4df730], 0x200
cmp edi, 2
je 0x40addc
cmp edi, 1
jne 0x40adf3
push 1
push 0x4b07e8
push dword [section..data]
push 0
call fcn.00413ea0
add esp, 0x10
mov eax, dword [0x4de02c]
test eax, eax
je 0x40ae0d
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40ae17
cmp edi, 1
jne 0x40ae2e
push 1
push 0x4b0880
push dword [section..data]
push 0
call fcn.00413ea0
add esp, 0x10
mov eax, dword [0x4de02c]
test eax, eax
je 0x40ae48
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40ae52
cmp edi, 1
jne 0x40ae6e
push 0x2c
push 0x4b092c
push 0x4b0940
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40ae88
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40ae92
cmp edi, 1
jne 0x40aeae
push 0x2c
push 0x4b092c
push 0x4b0990
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40aec8
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40aed1
test edi, edi
jne 0x40aeed
push 0x2c
push 0x4b092c
push 0x4b0940
push dword [0x4d5004]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40aef6
test edi, edi
jne 0x40af2d
push 0x4b09f8
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 0xc], esi
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 0
push eax
push dword [0x4d5004]
push 0
call fcn.00408c00
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40af37
cmp edi, 1
jne 0x40af6e
push 0x4b09f8
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 0xc], esi
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 1
push eax
push dword [section..data]
push 0
call fcn.00408c00
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40af78
cmp edi, 1
jne 0x40af8d
push 0x4b0a50
push dword [section..data]
push 0
call fcn.00414ea0
add esp, 0xc
cmp edi, 2
je 0x40af96
test edi, edi
jne 0x40afab
push 0x4b0a50
push dword [0x4d5004]
push 0
call fcn.00414ea0
add esp, 0xc
cmp edi, 2
je 0x40afb5
cmp edi, 1
jne 0x40afca
push 0x4b0a7c
push dword [section..data]
push 0
call fcn.00414ea0
add esp, 0xc
cmp edi, 2
je 0x40afd3
test edi, edi
jne 0x40afe8
push 0x4b0a7c
push dword [0x4d5004]
push 0
call fcn.00414ea0
add esp, 0xc
cmp edi, 2
je 0x40aff1
test edi, edi
jne 0x40b028
push 0x4b0aa8
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 0xc], esi
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 2
push eax
push dword [0x4d5004]
push 0
call fcn.00408c00
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40b032
cmp edi, 1
jne 0x40b069
push 0x4b0aa8
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 0xc], esi
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 3
push eax
push dword [section..data]
push 0
call fcn.00408c00
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [ebp + 8]
mov esi, eax
and esi, 0x1000
je 0x40b103
mov dword [0x4df730], 0x1000
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jae 0x40b0da
cmp edi, 2
je 0x40b098
cmp edi, 1
jne 0x40b0b4
push 0x20
push 0x4b0b04
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b0be
cmp edi, 1
jne 0x40b0da
push 0x20
push 0x4b0ba4
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b0e4
cmp edi, 1
jne 0x40b100
push 0x2c
push 0x4b0bb8
push 0x4b0bc8
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
mov eax, dword [ebp + 8]
test eax, 0x20000
je 0x40b12b
mov dword [0x4df730], 0x20000
cmp edi, 2
je 0x40b11e
cmp edi, 1
jne 0x40b12b
push 0
call fcn.00424600
mov eax, dword [ebp + 8]
add esp, 4
test al, 0x20
je 0x40b15b
mov dword [0x4df730], 0x20
cmp edi, 2
je 0x40b143
cmp edi, 1
jne 0x40b15b
push 0x4b0be8
push dword [section..data]
push 0
call fcn.00417b70
mov eax, dword [ebp + 8]
add esp, 0xc
test al, 0x40
je 0x40b188
mov dword [0x4df730], 0x40
cmp edi, 2
je 0x40b173
cmp edi, 1
jne 0x40b188
push 0x4b0be8
push dword [section..data]
push 0
call fcn.004106f0
add esp, 0xc
test esi, esi
je 0x40b3e0
mov dword [0x4df730], 0x1000
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
jb 0x40b271
cmp edi, 2
je 0x40b1b2
cmp edi, 1
jne 0x40b1e9
push 0x4b0c30
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 0xc], esi
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 4
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40b1f3
cmp edi, 1
jne 0x40b22a
push 0x4b0cd0
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 0xc], esi
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 5
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40b238
cmp edi, 1
jne 0x40b370
push 0x4b0d80
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 0xc], esi
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 6
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
jmp 0x40b36d
cmp edi, 2
je 0x40b27b
cmp edi, 1
jne 0x40b297
push 0x2c
push 0x4b0e10
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b2a1
cmp edi, 1
jne 0x40b2bd
push 0x20
push 0x4b0e20
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b2c7
cmp edi, 1
jne 0x40b2e3
push 0x2c
push 0x4b0e30
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b2ed
cmp edi, 1
jne 0x40b309
push 0x2c
push 0x4b0550
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b313
cmp edi, 1
jne 0x40b34a
push 0x4b0e40
call fcn.0048faa4
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 7
push eax
push dword [section..data]
push 0
call fcn.004209f0
push dword [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40b354
cmp edi, 1
jne 0x40b370
push 0x20
push 0x4b0ebc
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b379
test edi, edi
jne 0x40b395
push 0x2c
push 0x4b0ed8
push 0x4b0ef8
push dword [0x4d5004]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b39e
test edi, edi
jne 0x40b3ba
push 0x2c
push 0x4b0ed8
push 0x4b0f6c
push dword [0x4d5004]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b3c4
cmp edi, 1
jne 0x40b3e0
push 0x2c
push 0x4b0f98
push 0x4b0fb0
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
mov eax, dword [ebp + 8]
test eax, 0x4000
je 0x40b43a
mov dword [0x4df730], 0x4000
cmp edi, 2
je 0x40b3fe
cmp edi, 1
jne 0x40b43a
push 0x4b1028
call fcn.0048faa4
mov dword [ebp + 0xc], eax
push 1
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 8
push eax
push dword [section..data]
push 0
call fcn.004170c0
push dword [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
mov eax, dword [ebp + 8]
add esp, 0x18
test eax, 0x8000
je 0x40b508
mov dword [0x4df730], 0x8000
cmp edi, 2
je 0x40b459
cmp edi, 1
jne 0x40b475
push 0x2c
push 0x4b1088
push 0x4b10b0
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b47f
cmp edi, 1
jne 0x40b499
push 0x4b1118
push 0x4b1148
push dword [section..data]
push 0
call fcn.00415ea0
add esp, 0x10
cmp edi, 2
je 0x40b4a3
cmp edi, 1
jne 0x40b4bd
push 0x4b1194
push 0x4b1148
push dword [section..data]
push 0
call fcn.00415ea0
add esp, 0x10
cmp edi, 2
je 0x40b4c7
cmp edi, 1
jne 0x40b4e1
push 0x4b11c0
push 0x4b1148
push dword [section..data]
push 0
call fcn.00415ea0
add esp, 0x10
cmp edi, 2
je 0x40b4eb
cmp edi, 1
jne 0x40b505
push 0x4b11c0
push 0x4b11e8
push dword [section..data]
push 0
call fcn.00415ea0
add esp, 0x10
mov eax, dword [ebp + 8]
test eax, 0x10000
je 0x40b55d
mov dword [0x4df730], 0x10000
cmp edi, 2
je 0x40b523
cmp edi, 1
jne 0x40b55d
push 0x4b1248
call fcn.0048faa4
mov dword [ebp + 0xc], eax
lea eax, [ebp + 0xc]
mov dword [ebp - 4], 9
push eax
push dword [section..data]
push 0
call fcn.004167a0
push dword [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
mov eax, dword [ebp + 8]
add esp, 0x14
test eax, 0x2000
je 0x40b60d
mov dword [0x4df730], 0x10000
cmp edi, 2
je 0x40b57c
cmp edi, 1
jne 0x40b598
push ecx
mov esi, esp
push 0x4b12b8
call fcn.0048faa4
add esp, 4
mov dword [esi], eax
push 0
call fcn.00421b20
add esp, 8
cmp edi, 2
je 0x40b5a2
cmp edi, 1
jne 0x40b5be
push ecx
mov esi, esp
push 0x4b1368
call fcn.0048faa4
add esp, 4
mov dword [esi], eax
push 0
call fcn.00421160
add esp, 8
cmp edi, 2
je 0x40b5c8
cmp edi, 1
jne 0x40b5e4
push ecx
mov esi, esp
push 0x4b1420
call fcn.0048faa4
add esp, 4
mov dword [esi], eax
push 0
call fcn.00421b20
add esp, 8
cmp edi, 2
je 0x40b5ee
cmp edi, 1
jne 0x40b60a
push ecx
mov esi, esp
push 0x4b14d8
call fcn.0048faa4
add esp, 4
mov dword [esi], eax
push 0
call fcn.00421160
add esp, 8
mov eax, dword [ebp + 8]
mov esi, eax
and esi, 2
mov dword [ebp + 0xc], esi
je 0x40b676
call fcn.00450d10
test eax, eax
je 0x40b676
mov dword [0x4df730], 2
cmp edi, 2
je 0x40b634
cmp edi, 1
jne 0x40b650
push 0x2c
push 0x4b1590
push 0x4b15b0
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b65a
cmp edi, 1
jne 0x40b676
push 0x2c
push 0x4b1628
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
test esi, esi
je 0x40b8ea
mov dword [0x4df730], 2
cmp edi, 2
je 0x40b692
cmp edi, 1
jne 0x40b6cb
push 0x4b1640
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0xa
push eax
push dword [section..data]
push 0
call fcn.00411130
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
cmp edi, 2
je 0x40b6d4
test edi, edi
jne 0x40b70d
push 0x4b16b8
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0xb
push eax
push dword [0x4d5004]
push 0
call fcn.00411130
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
cmp edi, 2
je 0x40b717
cmp edi, 1
jne 0x40b750
push 0x4b16b8
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0xc
push eax
push dword [section..data]
push 0
call fcn.00411130
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
cmp edi, 2
je 0x40b75a
cmp edi, 1
jne 0x40b776
push 0x2c
push 0x4b172c
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b780
cmp edi, 1
jne 0x40b79c
push 0
push 0x4b1740
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40b7a6
cmp edi, 1
jne 0x40b7df
push 0x4b1758
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0xd
push eax
push dword [section..data]
push 0
call fcn.00411130
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
cmp edi, 2
je 0x40b7e8
test edi, edi
jne 0x40b821
push 0x4b17d0
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0xe
push eax
push dword [0x4d5004]
push 0
call fcn.00411130
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
cmp edi, 2
je 0x40b82b
cmp edi, 1
jne 0x40b864
push 0x4b17d0
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0xf
push eax
push dword [section..data]
push 0
call fcn.00411130
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
cmp edi, 2
je 0x40b86e
cmp edi, 1
jne 0x40b8a7
push 0x4b1848
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x10
push eax
push dword [section..data]
push 0
call fcn.00411130
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
cmp edi, 2
je 0x40b8b1
cmp edi, 1
jne 0x40b8ea
push 0x4b18d8
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x11
push eax
push dword [section..data]
push 0
call fcn.00411130
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
test dword [ebp + 8], 0x400
je 0x40ba02
mov dword [0x4df730], 0x400
cmp edi, 2
je 0x40b90b
cmp edi, 1
jne 0x40b947
push 0x4b1988
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 0x4b1968
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x12
push eax
push dword [section..data]
push 0
call fcn.00402bf0
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
mov eax, dword [0x4de02c]
test eax, eax
je 0x40b961
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40b96b
cmp edi, 1
jne 0x40b9a7
push 0x4b19f8
call fcn.0048faa4
mov dword [ebp - 0x10], eax
push 0x4b1968
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x13
push eax
push dword [section..data]
push 0
call fcn.00402bf0
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
mov eax, dword [0x4de02c]
test eax, eax
je 0x40b9c1
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40b9cb
cmp edi, 1
jne 0x40ba02
push 0x4b1a80
call fcn.0048faa4
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x14
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
test esi, esi
je 0x40c1e2
mov dword [0x4df730], 2
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, eax
jns 0x40bb34
cmp edi, 2
je 0x40ba2c
cmp edi, 1
jne 0x40ba67
push 0x4b1b00
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x15
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40ba71
cmp edi, 1
jne 0x40baac
push 0x4b1b70
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x16
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40bab5
test edi, edi
jne 0x40baf0
push 0x4b1be8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x17
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40baf9
test edi, edi
jne 0x40bb34
push 0x4b1c58
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x18
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40bb3d
test edi, edi
jne 0x40bb59
push 0x2c
push 0x4b1ccc
push 0x4b1cd8
push dword [0x4d5004]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40bb62
test edi, edi
jne 0x40bb7e
push 0x2c
push 0x4b1ccc
push 0x4b0b38
push dword [0x4d5004]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40bb88
cmp edi, 1
jne 0x40bba4
push 0x2c
push 0x4b1ccc
push 0x4b1cd8
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40bbae
cmp edi, 1
jne 0x40bbca
push 0x2c
push 0x4b1ccc
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40bbd4
cmp edi, 1
jne 0x40bbf0
push 0x20
push 0x4b0e20
push 0x4b0b38
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
lea eax, [ebp - 0x14]
push eax
push 0x20019
push 0
push 0x4b1d50
push dword [section..data]
call fcn.00406320
add esp, 0x14
test eax, eax
jne 0x40bc6f
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 4
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x10], 4
push eax
lea eax, [ebp - 0x10]
push eax
push 0
push 0x4b1db4
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x40bc66
cmp edi, 2
je 0x40bc4a
cmp edi, 1
jne 0x40bc66
push 0x2c
push 0x4b1dd8
push 0x4b1df8
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.00450d10
test eax, eax
je 0x40bd71
cmp edi, 2
je 0x40bc86
cmp edi, 1
jne 0x40bcc1
push 0x4b1e50
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x19
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40bccb
cmp edi, 1
jne 0x40bd06
push 0x4b1f40
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x1a
push eax
push dword [section..data]
push 0
call fcn.0040e5d0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40bd10
cmp edi, 1
jne 0x40bd4b
push 0x4b2038
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x1b
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40bd55
cmp edi, 1
jne 0x40bd71
push 0x2c
push 0x4b2120
push 0x4b2140
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40bd7b
cmp edi, 1
jne 0x40bdb6
push 0x4b21d0
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x1c
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40bdd0
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40bdda
cmp edi, 1
jne 0x40be15
push 0x4b2230
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x1d
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40be2f
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40be38
test edi, edi
jne 0x40be73
push 0x4b21d0
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x1e
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40be8d
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40be96
test edi, edi
jne 0x40bed1
push 0x4b2230
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x1f
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40beeb
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40bef5
cmp edi, 1
jne 0x40bf30
push 0x4b22a8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x20
push eax
push dword [section..data]
push 0
call fcn.0040e5d0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40bf4a
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40bf54
cmp edi, 1
jne 0x40bf8f
push 0x4b2310
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x21
push eax
push dword [section..data]
push 0
call fcn.0040e5d0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40bfa9
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40bfb2
test edi, edi
jne 0x40bfed
push 0x4b22a8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x22
push eax
push dword [0x4d5004]
push 0
call fcn.0040e5d0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c007
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c010
test edi, edi
jne 0x40c04b
push 0x4b2310
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x23
push eax
push dword [0x4d5004]
push 0
call fcn.0040e5d0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c065
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c06f
cmp edi, 1
jne 0x40c0aa
push 0x4b2390
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x24
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c0c4
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c0ce
cmp edi, 1
jne 0x40c109
push 0x4b23f8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x25
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c123
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c12c
test edi, edi
jne 0x40c167
push 0x4b2390
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x26
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c181
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c18a
test edi, edi
jne 0x40c1c5
push 0x4b23f8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 0
push 1
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x27
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c1df
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
and eax, 4
mov dword [ebp - 0x18], eax
je 0x40c33d
mov dword [0x4df730], 4
cmp edi, 2
je 0x40c204
test edi, edi
jne 0x40c23b
push 0x4b2478
call fcn.0048faa4
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x28
push eax
push dword [0x4d5004]
push 0
call fcn.00412140
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40c245
cmp edi, 1
jne 0x40c27c
push 0x4b2478
call fcn.0048faa4
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x29
push eax
push dword [section..data]
push 0
call fcn.00412140
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40c285
test edi, edi
jne 0x40c2bc
push 0x4b24c0
call fcn.0048faa4
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x2a
push eax
push dword [0x4d5004]
push 0
call fcn.00412140
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40c2c6
cmp edi, 1
jne 0x40c2fd
push 0x4b24c0
call fcn.0048faa4
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x2b
push eax
push dword [section..data]
push 0
call fcn.00412140
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40c306
test edi, edi
jne 0x40c33d
push 0x4b2508
call fcn.0048faa4
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x2c
push eax
push dword [0x4d5004]
push 0
call fcn.00412a60
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
test esi, esi
je 0x40c5a0
mov dword [0x4df730], 2
cmp edi, 2
je 0x40c358
test edi, edi
jne 0x40c372
push 0x4b2578
push 0x4b2590
push dword [0x4d5004]
push 0
call fcn.0041d670
add esp, 0x10
cmp edi, 2
je 0x40c37c
cmp edi, 1
jne 0x40c396
push 0x4b2614
push 0x4b2590
push dword [section..data]
push 0
call fcn.0041d670
add esp, 0x10
cmp edi, 2
je 0x40c3a0
cmp edi, 1
jne 0x40c3ba
push 0x4b2638
push 0x4b2590
push dword [section..data]
push 0
call fcn.0041d670
add esp, 0x10
cmp edi, 2
je 0x40c3c3
test edi, edi
jne 0x40c3dd
push 0x4b2658
push 0x4b2668
push dword [0x4d5004]
push 0
call fcn.0041d670
add esp, 0x10
cmp edi, 2
je 0x40c3e6
test edi, edi
jne 0x40c402
push 0x20
push 0x4b26ec
push 0x4b26f8
push dword [0x4d5004]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40c40b
test edi, edi
jne 0x40c427
push 0x20
push 0x4b2764
push 0x4b26f8
push dword [0x4d5004]
push 0
call fcn.0040a470
add esp, 0x14
call dword [sym.imp.KERNEL32.dll_GetVersion]
test eax, eax
jns 0x40c43b
push 0
call fcn.004201d0
add esp, 4
cmp edi, 2
je 0x40c445
cmp edi, 1
jne 0x40c480
push 0x4b2770
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x2d
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40c489
test edi, edi
jne 0x40c4c4
push 0x4b2770
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x2e
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40c4ce
cmp edi, 1
jne 0x40c505
push 0x4b27f0
call fcn.0048faa4
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x2f
push eax
push dword [section..data]
push 0
call fcn.004022c0
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c51f
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c529
cmp edi, 1
jne 0x40c560
push 0x4b2860
call fcn.0048faa4
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x30
push eax
push dword [section..data]
push 0
call fcn.004022c0
push dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c57a
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c584
cmp edi, 1
jne 0x40c5a0
push 0x2c
push 0x4b28e4
push 0x4b26f8
push dword [section..data]
push 0
call fcn.0040a470
add esp, 0x14
cmp dword [ebp - 0x18], 0
je 0x40c86a
mov dword [0x4df730], 4
cmp edi, 2
je 0x40c5be
cmp edi, 1
jne 0x40c5f9
push 0x4b2908
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 1
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x31
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c613
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c61d
cmp edi, 1
jne 0x40c658
push 0x4b2998
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 1
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x32
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c672
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c67c
cmp edi, 1
jne 0x40c6b3
push 0x4b2a40
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x33
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c6cd
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c6d7
cmp edi, 1
jne 0x40c70e
push 0x4b2ad0
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x34
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c728
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c731
test edi, edi
jne 0x40c768
push 0x4b2a40
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x35
push eax
push dword [0x4d5004]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40c772
cmp edi, 1
jne 0x40c7ad
push 0x4b2b78
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x36
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c7c7
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c7d1
cmp edi, 1
jne 0x40c80c
push 0x4b2c08
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x37
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c826
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40c82f
test edi, edi
jne 0x40c86a
push 0x4b2b78
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x38
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp dword [ebp + 0xc], 0
je 0x40cb17
mov dword [0x4df730], 2
cmp edi, 2
je 0x40c887
test edi, edi
jne 0x40c8c2
push 0x4b2cb0
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x39
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
call fcn.00450d10
test eax, eax
je 0x40c99b
cmp edi, 2
je 0x40c8d8
test edi, edi
jne 0x40c913
push 0x4b1e50
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x3a
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40c91c
test edi, edi
jne 0x40c957
push 0x4b1f40
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x3b
push eax
push dword [0x4d5004]
push 0
call fcn.0040e5d0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40c960
test edi, edi
jne 0x40c99b
push 0x4b2038
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x3c
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40c9a5
cmp edi, 1
jne 0x40c9e0
push 0x4b2d30
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x3d
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40c9fa
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40ca04
cmp edi, 1
jne 0x40ca3f
push 0x4b2da8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x3e
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40ca59
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40ca63
cmp edi, 1
jne 0x40ca9e
push 0x4b2e38
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x3f
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cab8
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40cac2
cmp edi, 1
jne 0x40cafd
push 0x4b2eb8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
push 0
push 1
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x40
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cb17
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
mov eax, dword [ebp + 8]
test al, 0x10
je 0x40cb3f
mov dword [0x4df730], 0x10
cmp edi, 2
je 0x40cb32
cmp edi, 1
jne 0x40cb3f
push 0
call fcn.0041ede0
mov eax, dword [ebp + 8]
add esp, 4
and eax, 8
mov dword [ebp - 0x1c], eax
je 0x40cc0b
mov dword [0x4df730], 8
cmp edi, 2
je 0x40cb5f
cmp edi, 1
jne 0x40cb96
push 0x4b2f50
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x41
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cbb0
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40cbba
cmp edi, 1
jne 0x40cbf1
push 0x4b2fe8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x10], esi
lea eax, [ebp - 0x10]
mov dword [ebp - 4], 0x42
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cc0b
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp dword [ebp - 0x18], 0
je 0x40de4e
mov dword [0x4df730], 4
cmp edi, 2
je 0x40cc29
cmp edi, 1
jne 0x40cc64
push 0x4b3098
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 1
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x43
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cc7e
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40cc88
cmp edi, 1
jne 0x40ccc3
push 0x4b3128
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
push 1
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x44
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40ccdd
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40cce6
test edi, edi
jne 0x40cd1d
push 0x4b31d0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x45
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40cd27
cmp edi, 1
jne 0x40cd5e
push 0x4b31d0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x46
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cd78
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40cd82
cmp edi, 1
jne 0x40cdb9
push 0x4b3230
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x47
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cdd3
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40cddc
test edi, edi
jne 0x40ce13
push 0x4b32a8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x48
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40ce1d
cmp edi, 1
jne 0x40ce54
push 0x4b32a8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x49
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40ce6e
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40ce78
cmp edi, 1
jne 0x40ceaf
push 0x4b3310
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x4a
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cec9
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40ced2
test edi, edi
jne 0x40cf09
push 0x4b3390
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x4b
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40cf13
cmp edi, 1
jne 0x40cf4a
push 0x4b3390
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x4c
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cf64
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40cf6e
cmp edi, 1
jne 0x40cfa5
push 0x4b33f8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x4d
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40cfbf
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40cfc8
test edi, edi
jne 0x40cfff
push 0x4b3478
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x4e
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d009
cmp edi, 1
jne 0x40d040
push 0x4b3478
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x4f
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d05a
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d064
cmp edi, 1
jne 0x40d09b
push 0x4b3500
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x50
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d0b5
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d0be
test edi, edi
jne 0x40d0f5
push 0x4b35a0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x51
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d0ff
cmp edi, 1
jne 0x40d136
push 0x4b35a0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x52
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d150
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d15a
cmp edi, 1
jne 0x40d191
push 0x4b3620
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x53
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d1ab
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d1b4
test edi, edi
jne 0x40d1eb
push 0x4b36b8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x54
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d1f5
cmp edi, 1
jne 0x40d22c
push 0x4b36b8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x55
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d246
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d250
cmp edi, 1
jne 0x40d287
push 0x4b3740
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x56
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d2a1
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d2aa
test edi, edi
jne 0x40d2e1
push 0x4b37e0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x57
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d2eb
cmp edi, 1
jne 0x40d322
push 0x4b37e0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x58
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d33c
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d346
cmp edi, 1
jne 0x40d37d
push 0x4b3850
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x59
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d397
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d3a0
test edi, edi
jne 0x40d3d7
push 0x4b38d8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x5a
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d3e1
cmp edi, 1
jne 0x40d418
push 0x4b38d8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x5b
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d432
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d43c
cmp edi, 1
jne 0x40d473
push 0x4b3940
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x5c
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d48d
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d496
test edi, edi
jne 0x40d4cd
push 0x4b39c0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x5d
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d4d7
cmp edi, 1
jne 0x40d50e
push 0x4b39c0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x5e
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d528
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d532
cmp edi, 1
jne 0x40d569
push 0x4b3a38
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x5f
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d583
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d58c
test edi, edi
jne 0x40d5c3
push 0x4b3ac8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x60
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d5cd
cmp edi, 1
jne 0x40d604
push 0x4b3ac8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x61
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d61e
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d628
cmp edi, 1
jne 0x40d65f
push 0x4b3b30
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x62
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d679
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d682
test edi, edi
jne 0x40d6b9
push 0x4b3bb0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x63
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d6c3
cmp edi, 1
jne 0x40d6fa
push 0x4b3bb0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x64
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d714
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d71e
cmp edi, 1
jne 0x40d755
push 0x4b3c38
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x65
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d76f
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d778
test edi, edi
jne 0x40d7af
push 0x4b3cd8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x66
push eax
push dword [0x4d5004]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d7b9
cmp edi, 1
jne 0x40d7f0
push 0x4b3cd8
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x67
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d80a
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d814
cmp edi, 1
jne 0x40d84b
push 0x4b3d38
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x68
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d865
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d86e
test edi, edi
jne 0x40d8a5
push 0x4b3db0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x69
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d8af
cmp edi, 1
jne 0x40d8e6
push 0x4b3db0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x6a
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d900
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d90a
cmp edi, 1
jne 0x40d941
push 0x4b3e18
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x6b
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d95b
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40d964
test edi, edi
jne 0x40d99b
push 0x4b3e98
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x6c
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40d9a5
cmp edi, 1
jne 0x40d9dc
push 0x4b3e98
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x6d
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40d9f6
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40da00
cmp edi, 1
jne 0x40da37
push 0x4b3f00
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x6e
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40da51
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40da5a
test edi, edi
jne 0x40da91
push 0x4b3f80
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x6f
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40da9b
cmp edi, 1
jne 0x40dad2
push 0x4b3f80
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x70
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40daec
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40daf6
cmp edi, 1
jne 0x40db2d
push 0x4b3fe8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x71
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40db47
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40db50
test edi, edi
jne 0x40db87
push 0x4b4068
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x72
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40db91
cmp edi, 1
jne 0x40dbc8
push 0x4b4068
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x73
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40dbe2
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40dbec
cmp edi, 1
jne 0x40dc23
push 0x4b40d8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x74
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40dc3d
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40dc46
test edi, edi
jne 0x40dc7d
push 0x4b4160
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x75
push eax
push dword [0x4d5004]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40dc87
cmp edi, 1
jne 0x40dcbe
push 0x4b4160
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x76
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40dcd8
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40dce2
cmp edi, 1
jne 0x40dd19
push 0x4b4200
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x77
push eax
push dword [section..data]
push 0
call fcn.004186b0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40dd33
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40dd3c
test edi, edi
jne 0x40dd58
push 0x20
push 0x4b42b8
push 0x4b42d8
push dword [0x4d5004]
push 0
call fcn.0040a470
add esp, 0x14
cmp edi, 2
je 0x40dd61
test edi, edi
jne 0x40dd98
push 0x4b4358
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x78
push eax
push dword [0x4d5004]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40dda2
cmp edi, 1
jne 0x40ddd9
push 0x4b4358
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x79
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40ddf3
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40ddfd
cmp edi, 1
jne 0x40de34
push 0x4b4358
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x18], esi
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x7a
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40de4e
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp dword [ebp - 0x1c], 0
je 0x40e1d0
mov dword [0x4df730], 8
cmp edi, 2
je 0x40de6b
test edi, edi
jne 0x40dea6
push 0x4b43a0
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x1c], esi
push 1
push 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x7b
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40deb0
cmp edi, 1
jne 0x40deeb
push 0x4b4408
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x1c], esi
push 1
push 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x7c
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40df05
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40df0f
cmp edi, 1
jne 0x40df4a
push 0x4b4468
call fcn.0048faa4
mov esi, eax
mov dword [ebp - 0x1c], esi
push 1
push 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0x7d
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40df64
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40df6d
test edi, edi
jne 0x40dfa4
push 0x4b44e0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x7e
push eax
push dword [0x4d5004]
push 0
call fcn.004131e0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40dfae
cmp edi, 1
jne 0x40dfe5
push 0x4b44e0
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x7f
push eax
push dword [section..data]
push 0
call fcn.004131e0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40dfff
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40e008
test edi, edi
jne 0x40e03f
push 0x4b4548
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x80
push eax
push dword [0x4d5004]
push 0
call fcn.004131e0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40e049
cmp edi, 1
jne 0x40e080
push 0x4b4548
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x81
push eax
push dword [section..data]
push 0
call fcn.004131e0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40e09a
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40e0a3
test edi, edi
jne 0x40e0da
push 0x4b45c8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x82
push eax
push dword [0x4d5004]
push 0
call fcn.004131e0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40e0e4
cmp edi, 1
jne 0x40e11b
push 0x4b45c8
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x83
push eax
push dword [section..data]
push 0
call fcn.004131e0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40e135
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40e13e
test edi, edi
jne 0x40e175
push 0x4b4628
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x84
push eax
push dword [0x4d5004]
push 0
call fcn.004131e0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40e17f
cmp edi, 1
jne 0x40e1b6
push 0x4b4628
call fcn.0048faa4
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0x85
push eax
push dword [section..data]
push 0
call fcn.004131e0
push dword [ebp - 0x18]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40e1d0
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
test byte [ebp + 8], 0x80
je 0x40e524
mov dword [0x4df730], 0x80
cmp edi, 2
je 0x40e1ed
test edi, edi
jne 0x40e228
push 0x4b46a0
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 8], esi
push 0
push 1
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x86
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40e232
cmp edi, 1
jne 0x40e26d
push 0x4b46a0
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 8], esi
push 0
push 1
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x87
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40e287
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40e290
test edi, edi
jne 0x40e2cb
push 0x4b4710
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 8], esi
push 0
push 1
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x88
push eax
push dword [0x4d5004]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
cmp edi, 2
je 0x40e2d5
cmp edi, 1
jne 0x40e310
push 0x4b4710
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 8], esi
push 0
push 1
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x89
push eax
push dword [section..data]
push 0
call fcn.004094f0
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x1c
mov eax, dword [0x4de02c]
test eax, eax
je 0x40e32a
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40e333
test edi, edi
jne 0x40e36a
push 0x4b4798
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 8], esi
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x8a
push eax
push dword [0x4d5004]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
cmp edi, 2
je 0x40e374
cmp edi, 1
jne 0x40e3ab
push 0x4b4798
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 8], esi
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x8b
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40e3c5
push 1
call eax
push 0x200
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40e3cf
cmp edi, 1
jne 0x40e406
push 0x4b4798
call fcn.0048faa4
mov esi, eax
mov dword [ebp + 8], esi
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x8c
push eax
push dword [section..data]
push 0
call fcn.00408130
push esi
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x14
mov eax, dword [0x4de02c]
test eax, eax
je 0x40e420
push 0
call eax
push 0x100
push dword [0x4de020]
call ebx
cmp edi, 2
je 0x40e429
test edi, edi
jne 0x40e440
push 0x4b47c8
push dword [0x4d5004]
push 0
push 1
call fcn.00408a70
add esp, 0x10
cmp edi, 2
je 0x40e449
test edi, edi
jne 0x40e460
push 0x4b4818
push dword [0x4d5004]
push 0
push 1
call fcn.00408a70
add esp, 0x10
cmp edi, 2
je 0x40e469
test edi, edi
jne 0x40e480
push 0x4b4868
push dword [0x4d5004]
push 0
push 1
call fcn.00408a70
add esp, 0x10
cmp edi, 2
je 0x40e489
test edi, edi
jne 0x40e4a0
push 0x4b48b8
push dword [0x4d5004]
push 0
push 1
call fcn.00408a70
add esp, 0x10
cmp edi, 2
je 0x40e4aa
cmp edi, 1
jne 0x40e4c1
push 0x4b47c8
push dword [section..data]
push 0
push 1
call fcn.00408a70
add esp, 0x10
cmp edi, 2
je 0x40e4cb
cmp edi, 1
jne 0x40e4e2
push 0x4b4818
push dword [section..data]
push 0
push 1
call fcn.00408a70
add esp, 0x10
cmp edi, 2
je 0x40e4ec
cmp edi, 1
jne 0x40e503
push 0x4b4868
push dword [section..data]
push 0
push 1
call fcn.00408a70
add esp, 0x10
cmp edi, 2
je 0x40e50d
cmp edi, 1
jne 0x40e524
push 0x4b48b8
push dword [section..data]
push 0
push 1
call fcn.00408a70
add esp, 0x10
cmp dword [ebp + 0xc], 0
je 0x40e5b6
mov dword [0x4df730], 2
cmp edi, 2
je 0x40e541
test edi, edi
jne 0x40e57a
push 0x4b17d0
call fcn.0048faa4
mov dword [ebp + 8], eax
push 1
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x8d
push eax
push dword [0x4d5004]
push 0
call fcn.00411130
push dword [ebp + 8]
mov dword [ebp - 4], 0xffffffff
call fcn.0048faf7
add esp, 0x18
cmp edi, 2
je 0x40e584
cmp edi, 1
jne 0x40e5b6
push 0x4b1758
call fcn.0048faa4
mov dword [ebp + 8], eax
push 1
lea eax, [ebp + 8]
mov dword [ebp - 4], 0x8e
push eax
push dword [section..data]
push 0
call fcn.00411130
push dword [ebp + 8]
call fcn.0048faf7
add esp, 0x18
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret