Function at 0x404940
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3630
call fcn.0040b7d0
push edi
mov byte [ebp - 0xb98], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0xb97]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0xca0], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0xc9f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0xcbc], 0
mov dword [ebp - 0xcb8], 0x104
mov dword [ebp - 0x58], 0
mov ecx, 0x10
xor eax, eax
lea edi, [ebp - 0x54]
rep stosd dword es:[edi], eax
mov dword [ebp - 0x10], 0
xor eax, eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0xa8c], 0
mov byte [ebp - 0xdc8], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0xdc7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, dword [0x417400]
mov dword [ebp - 0xcb4], ecx
mov edx, dword [0x417404]
mov dword [ebp - 0xcb0], edx
mov eax, dword [0x417408]
mov dword [ebp - 0xcac], eax
mov ecx, dword [0x41740c]
mov dword [ebp - 0xca8], ecx
mov dl, byte [0x417410]
mov byte [ebp - 0xca4], dl
push 0x417414
mov eax, dword [ebp + 0xc]
push eax
push 0x417424
lea ecx, [ebp - 0xa88]
push ecx
call fcn.0040b048
add esp, 0x10
push 0
lea edx, [ebp - 0xa88]
push edx
push 0x41742c
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
push 0
lea ecx, [ebp - 0xa88]
push ecx
call fcn.0040b004
add esp, 8
cmp eax, 0xffffffff
jne 0x404b4f
cmp dword [0x41a390], 0
jne 0x404b15
cmp dword [0x41a140], 0
je 0x404afe
mov byte [ebp - 0x10d8], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x10d7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0xed0], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0xecf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea edx, [ebp - 0x10d8]
push edx
push 0x69
call dword [0x41a140]
add esp, 0xc
push 0x104
lea eax, [ebp - 0xed0]
push eax
push 0x76
call dword [0x41a140]
add esp, 0xc
push 0x11000
lea ecx, [ebp - 0xed0]
push ecx
lea edx, [ebp - 0x10d8]
push edx
push 0
call dword [0x4131c0]
jmp 0x404b15
push 0x11000
push 0x417440
push 0x417450
push 0
call dword [0x4131c0]
push 0
push 0
push 0x4174a0
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
push 0
push 0
push 0x4174f0
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
mov eax, 0x2c2
jmp 0x4061da
mov byte [ebp - 0x11e0], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x11df]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x58], 0x44
mov dword [ebp - 0x2c], 1
mov word [ebp - 0x28], 5
lea edx, [ebp - 0xa88]
push edx
push 0x417518
lea eax, [ebp - 0x11e0]
push eax
call fcn.0040b048
add esp, 0xc
push 0
lea ecx, [ebp - 0x11e0]
push ecx
push 0x417524
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x58]
push ecx
push 0
push 0
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x11e0]
push edx
push 0
call dword [0x413088]
push 0x3e8
mov eax, dword [ebp - 0x10]
push eax
call dword [0x4130d0]
cmp eax, 0x102
jne 0x404c0e
lea ecx, [ebp - 0xa8c]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call dword [0x4130d4]
cmp dword [ebp - 0xa8c], 0x103
je 0x404c0c
jmp 0x404c0e
jmp 0x404bd7
lea eax, [ebp - 0xa8c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [0x4130d4]
push 1
mov edx, dword [ebp - 0xa8c]
push edx
push 0x417534
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
cmp dword [ebp - 0xa8c], 0
jle 0x40616f
mov ecx, dword [ebp + 8]
push ecx
call fcn.00408850
add esp, 4
test eax, eax
jne 0x40616f
mov byte [ebp - 0x12e8], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x12e7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x14f0], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x14ef]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x1700], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x16ff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x14f4], 0
lea edx, [ebp - 0xdc8]
push edx
call fcn.00406fa0
add esp, 4
test eax, eax
jne 0x404ce4
push 0
lea eax, [ebp - 0xdc8]
push eax
push 0x417554
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
jmp 0x404d03
push 0
push 0
push 0x417570
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
xor eax, eax
jmp 0x4061da
cmp dword [0x41a390], 0
jne 0x40598c
mov eax, dword [ebp + 0x14]
push eax
call fcn.0040b3e0
add esp, 4
test eax, eax
jbe 0x40598c
mov byte [ebp - 0x1a18], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x1a17]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x1910], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x190f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x1808], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x1807]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x1b20], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x1b1f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea ecx, [ebp - 0x1808]
push ecx
lea edx, [ebp - 0x1a18]
push edx
mov eax, dword [ebp + 0x14]
push eax
call fcn.00407100
add esp, 0xc
test eax, eax
jle 0x404dc5
push 0
push 0
push 0x4175a0
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
xor eax, eax
jmp 0x4061da
lea edx, [ebp - 0x1b20]
push edx
lea eax, [ebp - 0x1910]
push eax
lea ecx, [ebp - 0xdc8]
push ecx
call fcn.00407100
add esp, 0xc
test eax, eax
jle 0x404e05
push 0
push 0
push 0x4175e8
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
xor eax, eax
jmp 0x4061da
push 0x417630
lea eax, [ebp - 0x1910]
push eax
call fcn.00412dae
add esp, 8
test eax, eax
jl 0x404eef
push 0x417638
lea ecx, [ebp - 0x1910]
push ecx
call fcn.00412dae
add esp, 8
test eax, eax
jge 0x404eef
push 0x417640
lea edx, [ebp - 0x1a18]
push edx
call fcn.0040b740
add esp, 8
test eax, eax
je 0x404eef
mov dword [ebp - 0x14f4], 1
lea eax, [ebp - 0x1910]
push eax
push 0x417648
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0xc
lea edx, [ebp - 0x14f0]
push edx
lea eax, [ebp - 0x1700]
push eax
call fcn.0040acf0
add esp, 8
cmp dword [0x41a140], 0
je 0x404eea
mov byte [ebp - 0x1d28], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x1d27]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea ecx, [ebp - 0x1d28]
push ecx
push 0x70
call dword [0x41a140]
add esp, 0xc
lea edx, [ebp - 0x1910]
push edx
lea eax, [ebp - 0x1d28]
push eax
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0xc
jmp 0x405917
lea edx, [ebp - 0xdc8]
push edx
mov eax, dword [ebp + 0x14]
push eax
call fcn.00412dae
add esp, 8
test eax, eax
jle 0x4052e2
push 3
lea ecx, [ebp - 0x1910]
push ecx
lea edx, [ebp - 0x1a18]
push edx
call fcn.00412df1
add esp, 0xc
test eax, eax
jle 0x405156
mov byte [ebp - 0x1d40], 0
xor eax, eax
mov dword [ebp - 0x1d3f], eax
mov dword [ebp - 0x1d3b], eax
mov byte [ebp - 0x1d37], al
mov byte [ebp - 0x1d34], 0
xor ecx, ecx
mov dword [ebp - 0x1d33], ecx
mov dword [ebp - 0x1d2f], ecx
mov byte [ebp - 0x1d2b], cl
push 1
push 0x4176c8
lea edx, [ebp - 0x1a18]
push edx
call fcn.00412df1
add esp, 0xc
test eax, eax
jne 0x404f94
push 4
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x1d40]
push ecx
call fcn.0040aee0
add esp, 0xc
jmp 0x404fe0
push 1
push 0x4176cc
lea edx, [ebp - 0x1a18]
push edx
call fcn.00412df1
add esp, 0xc
test eax, eax
jne 0x404fc8
push 4
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x1d40]
push ecx
call fcn.0040aee0
add esp, 0xc
jmp 0x404fe0
push 3
lea edx, [ebp - 0x1a18]
push edx
lea eax, [ebp - 0x1d40]
push eax
call fcn.0040aee0
add esp, 0xc
push 1
push 0x4176d0
lea ecx, [ebp - 0x1910]
push ecx
call fcn.00412df1
add esp, 0xc
test eax, eax
jne 0x405014
push 4
lea edx, [ebp - 0x1910]
push edx
lea eax, [ebp - 0x1d34]
push eax
call fcn.0040aee0
add esp, 0xc
jmp 0x405060
push 1
push 0x4176d4
lea ecx, [ebp - 0x1a18]
push ecx
call fcn.00412df1
add esp, 0xc
test eax, eax
jne 0x405048
push 4
lea edx, [ebp - 0x1a18]
push edx
lea eax, [ebp - 0x1d40]
push eax
call fcn.0040aee0
add esp, 0xc
jmp 0x405060
push 3
lea ecx, [ebp - 0x1910]
push ecx
lea edx, [ebp - 0x1d34]
push edx
call fcn.0040aee0
add esp, 0xc
push 3
push 0x4176d8
lea eax, [ebp - 0x1d34]
push eax
call fcn.0040b840
add esp, 0xc
test eax, eax
jne 0x40508e
push 0x4176dc
lea ecx, [ebp - 0x1d34]
push ecx
call fcn.0040acf0
add esp, 8
push 3
push 0x4176e4
lea edx, [ebp - 0x1d40]
push edx
call fcn.0040b840
add esp, 0xc
test eax, eax
jne 0x4050bc
push 0x4176e8
lea eax, [ebp - 0x1d40]
push eax
call fcn.0040acf0
add esp, 8
lea ecx, [ebp - 0x1d40]
push ecx
lea edx, [ebp - 0x1d34]
push edx
push 0x4176f0
lea eax, [ebp - 0x14f0]
push eax
call fcn.0040b048
add esp, 0x10
lea ecx, [ebp - 0x14f0]
push ecx
lea edx, [ebp - 0x1700]
push edx
call fcn.0040acf0
add esp, 8
cmp dword [0x41a140], 0
je 0x405151
mov byte [ebp - 0x1f48], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x1f47]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea eax, [ebp - 0x1f48]
push eax
push 0x71
call dword [0x41a140]
add esp, 0xc
lea ecx, [ebp - 0x1d40]
push ecx
lea edx, [ebp - 0x1d34]
push edx
lea eax, [ebp - 0x1f48]
push eax
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0x10
jmp 0x4052dd
lea edx, [ebp - 0x1b20]
push edx
lea eax, [ebp - 0x1808]
push eax
call fcn.00412dae
add esp, 8
test eax, eax
jle 0x405248
lea ecx, [ebp - 0x1910]
push ecx
lea edx, [ebp - 0x1a18]
push edx
call fcn.00412dae
add esp, 8
test eax, eax
jne 0x405248
lea eax, [ebp - 0x1808]
push eax
lea ecx, [ebp - 0x1a18]
push ecx
lea edx, [ebp - 0x1b20]
push edx
lea eax, [ebp - 0x1910]
push eax
push 0x417748
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0x18
lea edx, [ebp - 0x14f0]
push edx
lea eax, [ebp - 0x1700]
push eax
call fcn.0040acf0
add esp, 8
cmp dword [0x41a140], 0
je 0x405243
mov byte [ebp - 0x2150], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x214f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea ecx, [ebp - 0x2150]
push ecx
push 0x72
call dword [0x41a140]
add esp, 0xc
lea edx, [ebp - 0x1808]
push edx
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x1b20]
push ecx
lea edx, [ebp - 0x1910]
push edx
lea eax, [ebp - 0x2150]
push eax
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0x18
jmp 0x4052dd
lea edx, [ebp - 0x1a18]
push edx
lea eax, [ebp - 0x1910]
push eax
push 0x4177b0
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0x10
lea edx, [ebp - 0x14f0]
push edx
lea eax, [ebp - 0x1700]
push eax
call fcn.0040acf0
add esp, 8
cmp dword [0x41a140], 0
je 0x4052dd
mov byte [ebp - 0x2358], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x2357]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea ecx, [ebp - 0x2358]
push ecx
push 0x73
call dword [0x41a140]
add esp, 0xc
lea edx, [ebp - 0x1a18]
push edx
lea eax, [ebp - 0x1910]
push eax
lea ecx, [ebp - 0x2358]
push ecx
lea edx, [ebp - 0x14f0]
push edx
call fcn.0040b048
add esp, 0x10
jmp 0x405917
lea eax, [ebp - 0xdc8]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00412dae
add esp, 8
test eax, eax
jge 0x405679
push 3
lea edx, [ebp - 0x1910]
push edx
lea eax, [ebp - 0x1a18]
push eax
call fcn.00412df1
add esp, 0xc
test eax, eax
jge 0x4054ed
mov byte [ebp - 0x2370], 0
xor ecx, ecx
mov dword [ebp - 0x236f], ecx
mov dword [ebp - 0x236b], ecx
mov byte [ebp - 0x2367], cl
mov byte [ebp - 0x2364], 0
xor edx, edx
mov dword [ebp - 0x2363], edx
mov dword [ebp - 0x235f], edx
mov byte [ebp - 0x235b], dl
push 1
push 0x4177fc
lea eax, [ebp - 0x1a18]
push eax
call fcn.00412df1
add esp, 0xc
test eax, eax
jne 0x405387
push 4
lea ecx, [ebp - 0x1a18]
push ecx
lea edx, [ebp - 0x2370]
push edx
call fcn.0040aee0
add esp, 0xc
jmp 0x4053d3
push 1
push 0x417800
lea eax, [ebp - 0x1a18]
push eax
call fcn.00412df1
add esp, 0xc
test eax, eax
jne 0x4053bb
push 4
lea ecx, [ebp - 0x1a18]
push ecx
lea edx, [ebp - 0x2370]
push edx
call fcn.0040aee0
add esp, 0xc
jmp 0x4053d3
push 3
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x2370]
push ecx
call fcn.0040aee0
add esp, 0xc
push 1
push 0x417804
lea edx, [ebp - 0x1910]
push edx
call fcn.00412df1
add esp, 0xc
test eax, eax
jne 0x405407
push 4
lea eax, [ebp - 0x1910]
push eax
lea ecx, [ebp - 0x2364]
push ecx
call fcn.0040aee0
add esp, 0xc
jmp 0x405453
push 1
push 0x417808
lea edx, [ebp - 0x1a18]
push edx
call fcn.00412df1
add esp, 0xc
test eax, eax
jne 0x40543b
push 4
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x2370]
push ecx
call fcn.0040aee0
add esp, 0xc
jmp 0x405453
push 3
lea edx, [ebp - 0x1910]
push edx
lea eax, [ebp - 0x2364]
push eax
call fcn.0040aee0
add esp, 0xc
lea ecx, [ebp - 0x2370]
push ecx
lea edx, [ebp - 0x2364]
push edx
push 0x417810
lea eax, [ebp - 0x14f0]
push eax
call fcn.0040b048
add esp, 0x10
lea ecx, [ebp - 0x14f0]
push ecx
lea edx, [ebp - 0x1700]
push edx
call fcn.0040acf0
add esp, 8
cmp dword [0x41a140], 0
je 0x4054e8
mov byte [ebp - 0x2578], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x2577]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea eax, [ebp - 0x2578]
push eax
push 0x73
call dword [0x41a140]
add esp, 0xc
lea ecx, [ebp - 0x2370]
push ecx
lea edx, [ebp - 0x2364]
push edx
lea eax, [ebp - 0x2578]
push eax
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0x10
jmp 0x405674
lea edx, [ebp - 0x1b20]
push edx
lea eax, [ebp - 0x1808]
push eax
call fcn.00412dae
add esp, 8
test eax, eax
jge 0x4055df
lea ecx, [ebp - 0x1910]
push ecx
lea edx, [ebp - 0x1a18]
push edx
call fcn.00412dae
add esp, 8
test eax, eax
jne 0x4055df
lea eax, [ebp - 0x1808]
push eax
lea ecx, [ebp - 0x1a18]
push ecx
lea edx, [ebp - 0x1b20]
push edx
lea eax, [ebp - 0x1910]
push eax
push 0x417860
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0x18
lea edx, [ebp - 0x14f0]
push edx
lea eax, [ebp - 0x1700]
push eax
call fcn.0040acf0
add esp, 8
cmp dword [0x41a140], 0
je 0x4055da
mov byte [ebp - 0x2780], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x277f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea ecx, [ebp - 0x2780]
push ecx
push 0x74
call dword [0x41a140]
add esp, 0xc
lea edx, [ebp - 0x1808]
push edx
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x1b20]
push ecx
lea edx, [ebp - 0x1910]
push edx
lea eax, [ebp - 0x2780]
push eax
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0x18
jmp 0x405674
lea edx, [ebp - 0x1a18]
push edx
lea eax, [ebp - 0x1910]
push eax
push 0x4178c8
lea ecx, [ebp - 0x14f0]
push ecx
call fcn.0040b048
add esp, 0x10
lea edx, [ebp - 0x14f0]
push edx
lea eax, [ebp - 0x1700]
push eax
call fcn.0040acf0
add esp, 8
cmp dword [0x41a140], 0
je 0x405674
mov byte [ebp - 0x2988], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x2987]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea ecx, [ebp - 0x2988]
push ecx
push 0x73
call dword [0x41a140]
add esp, 0xc
lea edx, [ebp - 0x1a18]
push edx
lea eax, [ebp - 0x1910]
push eax
lea ecx, [ebp - 0x2988]
push ecx
lea edx, [ebp - 0x14f0]
push edx
call fcn.0040b048
add esp, 0x10
jmp 0x405917
lea eax, [ebp - 0xdc8]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00412dae
add esp, 8
test eax, eax
jne 0x405917
mov byte [ebp - 0x2aa0], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x2a9f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x2bb0], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x2baf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x2aa4], 0x104
mov dword [ebp - 0x2aa8], 0
mov dword [ebp - 0x298c], 0
mov dword [ebp - 0x2990], 0
mov dword [ebp - 0x2994], 1
push 0x417914
lea edx, [ebp - 0x2aa0]
push edx
call fcn.0040acf0
add esp, 8
lea eax, [ebp - 0x2990]
push eax
push 0x20019
push 0
lea ecx, [ebp - 0x2aa0]
push ecx
push 0x80000002
call dword [0x413038]
mov dword [ebp - 0x298c], eax
cmp dword [ebp - 0x298c], 0
jne 0x405771
lea edx, [ebp - 0x2aa4]
push edx
lea eax, [ebp - 0x2bb0]
push eax
lea ecx, [ebp - 0x2994]
push ecx
push 0
push 0x417934
mov edx, dword [ebp - 0x2990]
push edx
call dword [0x41303c]
mov eax, dword [ebp - 0x2990]
push eax
call dword [0x413040]
push 3
push 0x417940
lea ecx, [ebp - 0x1910]
push ecx
call fcn.0040b840
add esp, 0xc
test eax, eax
je 0x4057a9
push 3
push 0x417944
lea edx, [ebp - 0x1910]
push edx
call fcn.0040b840
add esp, 0xc
test eax, eax
jne 0x405872
push 0x417948
lea eax, [ebp - 0x2bb0]
push eax
call fcn.0040ae50
add esp, 8
test eax, eax
jne 0x405872
mov ecx, dword [ebp + 0x18]
movsx edx, byte [ecx]
test edx, edx
jne 0x405872
mov dword [ebp - 0x2aa8], 1
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x1910]
push ecx
push 0x417950
lea edx, [ebp - 0x14f0]
push edx
call fcn.0040b048
add esp, 0x10
lea eax, [ebp - 0x14f0]
push eax
lea ecx, [ebp - 0x1700]
push ecx
call fcn.0040acf0
add esp, 8
cmp dword [0x41a140], 0
je 0x405872
mov byte [ebp - 0x2db8], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x2db7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea edx, [ebp - 0x2db8]
push edx
push 0x71
call dword [0x41a140]
add esp, 0xc
lea eax, [ebp - 0x1a18]
push eax
lea ecx, [ebp - 0x1910]
push ecx
lea edx, [ebp - 0x2db8]
push edx
lea eax, [ebp - 0x14f0]
push eax
call fcn.0040b048
add esp, 0x10
cmp dword [ebp - 0x2aa8], 0
jne 0x405917
lea ecx, [ebp - 0x1910]
push ecx
push 0x4179b0
lea edx, [ebp - 0x14f0]
push edx
call fcn.0040b048
add esp, 0xc
push 0
lea eax, [ebp - 0x14f0]
push eax
push 0x4179e0
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
cmp dword [0x41a140], 0
je 0x40590d
mov byte [ebp - 0x2fc0], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x2fbf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea edx, [ebp - 0x2fc0]
push edx
push 0x75
call dword [0x41a140]
add esp, 0xc
lea eax, [ebp - 0x1910]
push eax
lea ecx, [ebp - 0x2fc0]
push ecx
lea edx, [ebp - 0x14f0]
push edx
call fcn.0040b048
add esp, 0xc
mov eax, 1
jmp 0x4061da
cmp dword [ebp - 0x14f4], 0
je 0x40593b
push 0x11000
push 0x4179f0
lea eax, [ebp - 0x14f0]
push eax
push 0
call dword [0x4131c0]
jmp 0x40598c
mov dword [ebp - 0x2fc4], 0
push 0x11001
push 0x4179f8
lea ecx, [ebp - 0x14f0]
push ecx
push 0
call dword [0x4131c0]
mov dword [ebp - 0x2fc4], eax
cmp dword [ebp - 0x2fc4], 2
jne 0x40598c
push 0
push 0
push 0x417a00
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
xor eax, eax
jmp 0x4061da
push 0
lea eax, [ebp - 0x1700]
push eax
push 0x417a3c
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
cmp dword [ebp - 0x14f4], 0
je 0x4059de
push 0
push 0
push 0x417a44
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
push 0x4161f4
call fcn.0040a670
add esp, 4
push 0
call fcn.0040b5f8
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x12e8]
push ecx
call fcn.0040acf0
add esp, 8
mov edx, dword [ebp + 8]
push edx
call fcn.0040b638
add esp, 4
push 0x417a58
mov eax, dword [ebp + 8]
push eax
call fcn.0040b740
add esp, 8
test eax, eax
je 0x405b96
call fcn.00407ec0
test eax, eax
je 0x405b79
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.00407510
add esp, 4
test eax, eax
je 0x405b5f
mov byte [ebp - 0x31d8], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x31d7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x30d0], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x30cf]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edx, [ebp - 0x30d0]
push edx
push 0x104
call fcn.004090c0
add esp, 8
lea eax, [ebp - 0x30d0]
push eax
call fcn.0040b3e0
add esp, 4
movsx ecx, byte [ebp + eax - 0x30d1]
cmp ecx, 0x5c
je 0x405ab0
lea edx, [ebp - 0x30d0]
push edx
call fcn.0040b3e0
add esp, 4
mov byte [ebp + eax - 0x30d0], 0x5c
push 0
push 0
push 0x417a64
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
lea ecx, [ebp - 0x30d0]
push ecx
push 0x417a88
lea edx, [ebp - 0x31d8]
push edx
call fcn.0040b048
add esp, 0xc
lea eax, [ebp - 0x31d8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
call fcn.004072b0
add esp, 8
lea edx, [ebp - 0x31d8]
push edx
mov eax, dword [ebp + 0xc]
push eax
call fcn.0040acf0
add esp, 8
push 0
mov ecx, dword [ebp + 0xc]
push ecx
push 0x417a94
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
push 0x417abc
mov eax, dword [ebp + 0xc]
push eax
push 0x417acc
lea ecx, [ebp - 0xa88]
push ecx
call fcn.0040b048
add esp, 0x10
push 0
lea edx, [ebp - 0xa88]
push edx
push 0x417ad4
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
jmp 0x405b77
push 0
push 0
push 0x417af0
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
jmp 0x405b91
push 0
push 0
push 0x417b20
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
jmp 0x405c4a
call fcn.00407ec0
test eax, eax
je 0x405c4a
mov eax, dword [ebp + 0xc]
push eax
call fcn.00407510
add esp, 4
test eax, eax
je 0x405c4a
cmp dword [0x41a390], 0
jne 0x405c2b
cmp dword [0x41a140], 0
je 0x405c14
mov byte [ebp - 0x33e0], 0
mov ecx, 0x81
xor eax, eax
lea edi, [ebp - 0x33df]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push 0x208
lea ecx, [ebp - 0x33e0]
push ecx
push 0x6a
call dword [0x41a140]
add esp, 0xc
push 0x11000
push 0x417b4c
lea edx, [ebp - 0x33e0]
push edx
push 0
call dword [0x4131c0]
jmp 0x405c2b
push 0x10010
push 0x417b50
push 0x417b58
push 0
call dword [0x4131c0]
push 0
push 0
push 0x417bc8
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
xor eax, eax
jmp 0x4061da
mov ecx, dword [ebp + 0xc]
push ecx
push 0x417c28
lea edx, [ebp - 0xca0]
push edx
call fcn.0040b048
add esp, 0xc
push 0
lea eax, [ebp - 0xca0]
push eax
push 0x417c38
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
push 0
lea edx, [ebp - 0xca0]
push edx
call fcn.0040b004
add esp, 8
cmp eax, 0xffffffff
jne 0x405cb9
push 0
push 0
push 0x417c4c
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
mov dword [ebp - 0xcbc], 1
jmp 0x405d26
lea ecx, [ebp - 0xca0]
push ecx
push 0x104
lea edx, [ebp - 0xb98]
push edx
push 0x41a49d
push 0x417c68
push 0x417c78
call dword [0x413090]
test eax, eax
jne 0x405d09
push 0
push 0
push 0x417c80
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
mov dword [ebp - 0xcbc], 1
jmp 0x405d26
push 0
lea ecx, [ebp - 0xb98]
push ecx
push 0x417cb8
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
mov dword [ebp - 0x33e4], 0
push 0
push 0
push 0x417ce4
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
mov ecx, dword [ebp + 0x14]
movsx edx, byte [ecx + 1]
cmp edx, 0x35
jne 0x405d60
mov dword [ebp - 0x33e4], 3
jmp 0x405d76
mov eax, dword [ebp + 0x14]
movsx ecx, byte [eax + 1]
cmp ecx, 0x37
jl 0x405d76
mov dword [ebp - 0x33e4], 9
cmp dword [ebp - 0x33e4], 0
jle 0x405e6b
mov dword [ebp - 0x3408], 0x417d38
mov dword [ebp - 0x3404], 0x417d88
mov dword [ebp - 0x3400], 0x417dd8
mov dword [ebp - 0x33fc], 0x417e28
mov dword [ebp - 0x33f8], 0x417e78
mov dword [ebp - 0x33f4], 0x417ec8
mov dword [ebp - 0x33f0], 0x417f18
mov dword [ebp - 0x33ec], 0x417f68
mov dword [ebp - 0x33e8], 0x417fb8
mov dword [ebp - 0x5c], 0
jmp 0x405def
mov edx, dword [ebp - 0x5c]
add edx, 1
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x33e4]
jge 0x405e5a
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp + ecx*4 - 0x3408]
push edx
call fcn.0040ab5c
cmp eax, 5
jne 0x405e58
push 0
push 2
call fcn.0040ab50
mov dword [ebp - 0x340c], eax
push 0
push 0
push 0x417fe0
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
push 2
push 0
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp + ecx*4 - 0x3408]
push edx
call fcn.0040ab56
push 0
mov eax, dword [ebp - 0x340c]
push eax
call fcn.0040ab50
jmp 0x405de6
mov ecx, dword [ebp + 0x14]
movsx edx, byte [ecx + 1]
cmp edx, 0x37
jl 0x405e6b
call fcn.0040aa00
cmp dword [ebp - 0xcbc], 0
je 0x405ea5
lea eax, [ebp - 0xcb8]
push eax
lea ecx, [ebp - 0xb98]
push ecx
call dword [0x413020]
push 0
lea edx, [ebp - 0xb98]
push edx
push 0x41800c
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
lea ecx, [ebp - 0xb98]
push ecx
call fcn.0040b3e0
add esp, 4
test eax, eax
jbe 0x405edf
lea edx, [ebp - 0xb98]
push edx
push 0x418044
lea eax, [ebp - 0xa88]
push eax
push 0x41805c
lea ecx, [ebp - 0xa88]
push ecx
call fcn.0040b048
add esp, 0x14
lea edx, [ebp - 0x12e8]
push edx
push 0x418068
lea eax, [ebp - 0xa88]
push eax
push 0x41806c
lea ecx, [ebp - 0xa88]
push ecx
call fcn.0040b048
add esp, 0x14
cmp dword [ebp + 0x20], 0xbc2
je 0x405f18
cmp dword [ebp + 0x20], 0xbc3
jne 0x405f38
push 0x418078
lea edx, [ebp - 0xa88]
push edx
push 0x41808c
lea eax, [ebp - 0xa88]
push eax
call fcn.0040b048
add esp, 0x10
mov dword [ebp - 0x58], 0x44
mov dword [ebp - 0x2c], 1
mov word [ebp - 0x28], 5
lea ecx, [ebp - 0xa88]
push ecx
call fcn.004077b0
add esp, 4
cmp dword [ebp + 0x24], 0
je 0x405f7b
push 0
push 0
push 0x418094
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
jmp 0x405f93
push 0
push 0
push 0x4180a8
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
push 4
lea ecx, [ebp - 0xdc8]
push ecx
mov edx, dword [ebp + 0x14]
push edx
call fcn.00412df1
add esp, 0xc
test eax, eax
je 0x4060c6
mov dword [ebp - 0x3414], 0
mov dword [ebp - 0x3418], 1
mov byte [ebp - 0x3520], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x351f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x3410], 0
mov byte [ebp - 0x3630], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x362f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x3524], 0x104
push 0x4180bc
lea eax, [ebp - 0x3520]
push eax
call fcn.0040acf0
add esp, 8
lea ecx, [ebp - 0x3414]
push ecx
push 0x20019
push 0
lea edx, [ebp - 0x3520]
push edx
push 0x80000002
call dword [0x413038]
mov dword [ebp - 0x3410], eax
cmp dword [ebp - 0x3410], 0
jne 0x406083
lea eax, [ebp - 0x3524]
push eax
lea ecx, [ebp - 0x3630]
push ecx
lea edx, [ebp - 0x3418]
push edx
push 0
push 0x4180dc
mov eax, dword [ebp - 0x3414]
push eax
call dword [0x41303c]
mov ecx, dword [ebp - 0x3414]
push ecx
call dword [0x413040]
lea edx, [ebp - 0x3630]
push edx
mov eax, dword [ebp + 0x1c]
push eax
call fcn.00412dae
add esp, 8
test eax, eax
jne 0x4060c6
push 0
push 0
push 0x4180e8
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
push 0x418104
lea edx, [ebp - 0xa88]
push edx
call fcn.0040ad00
add esp, 8
push 0
lea eax, [ebp - 0xa88]
push eax
push 0x418138
lea ecx, [ebp - 0xcb4]
push ecx
call fcn.0040a540
add esp, 0x10
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0x58]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xa88]
push ecx
push 0
call dword [0x413088]
cmp dword [ebp + 0x24], 0
jne 0x406143
push 0x3e8
mov edx, dword [ebp - 0x10]
push edx
call dword [0x4130d0]
cmp eax, 0x102
jne 0x406143
lea eax, [ebp - 0xa8c]
push eax
mov ecx, dword [ebp - 0x10]
push ecx
call dword [0x4130d4]
cmp dword [ebp - 0xa8c], 0x103
je 0x406141
jmp 0x406143
jmp 0x40610c
push 0
push 0
push 0x418148
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
push 0x4161f4
call fcn.0040a670
add esp, 4
push 0
call fcn.0040b5f8
cmp dword [ebp - 0xa8c], 0
je 0x406181
cmp dword [ebp - 0xa8c], 0xffffffff
jne 0x4061bd
push 0
push 0
push 0x418168
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
push 1
mov ecx, dword [ebp - 0xa8c]
push ecx
push 0x418198
lea edx, [ebp - 0xcb4]
push edx
call fcn.0040a540
add esp, 0x10
mov eax, 1
jmp 0x4061da
push 0
push 0
push 0x4181dc
lea eax, [ebp - 0xcb4]
push eax
call fcn.0040a540
add esp, 0x10
mov eax, 1
pop edi
mov esp, ebp
pop ebp
ret