Function at 0x4079e0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x446bde
mov eax, dword fs:[0]
push eax
mov eax, 0x11f0
call fcn.0043b550
mov eax, dword [0x454364]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd6c], ecx
mov dword [ebp - 4], 0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5fc], esp
lea eax, [ebp + 0x18]
push eax
call fcn.004020a0
mov dword [ebp - 0xd70], eax
mov ecx, dword [ebp - 0xd6c]
call fcn.00405940
lea ecx, [ebp - 0x94]
call fcn.00410710
mov byte [ebp - 4], 1
push 0x44e1f8
lea ecx, [ebp - 0xd4]
call fcn.00402000
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0xd6c]
mov dword [ecx + 0x150], fcn.00406050
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0x150]
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
push eax
call fcn.004229a0
add esp, 4
add eax, 1
mov dword [ebp - 0xdc], eax
xor ecx, ecx
mov eax, dword [ebp - 0xdc]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041de54
add esp, 4
mov dword [ebp - 0x600], eax
mov eax, dword [ebp - 0x600]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0x100], 0
mov byte [ebp - 0x71], 0
cmp dword [ebp - 0xdc], 1
jle 0x407d65
push 0x1c
lea ecx, [ebp - 0x61c]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0xd74], eax
mov ecx, dword [ebp - 0xd74]
mov dword [ebp - 0xd78], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0xd78]
push edx
lea ecx, [ebp - 0x1a4]
call fcn.004020a0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x61c]
call fcn.004020e0
lea ecx, [ebp - 0x1a4]
call fcn.00402180
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x1b0], 0
jmp 0x407b84
mov eax, dword [ebp - 0x1b0]
add eax, 1
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1b0]
cmp ecx, dword [ebp - 0xdc]
jge 0x407bb1
mov edx, dword [ebp + 0x10]
add edx, dword [ebp - 0x1b0]
movsx ax, byte [edx]
mov ecx, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0xa8]
mov word [edx + ecx*2], ax
jmp 0x407b75
mov byte [ebp - 0x185], 0
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x1b4], 0
jmp 0x407bdd
mov eax, dword [ebp - 0x1b4]
add eax, 1
mov dword [ebp - 0x1b4], eax
cmp dword [ebp - 0x1b4], 5
jge 0x407c1b
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0xa8]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x184]
movzx ecx, word [edx + ecx*2]
cmp eax, ecx
jne 0x407c19
mov edx, dword [ebp - 0x180]
add edx, 1
mov dword [ebp - 0x180], edx
jmp 0x407bce
mov dword [ebp - 0xa8], 0x44e208
push 0x1d
lea eax, [ebp - 0x638]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xd7c], eax
mov eax, dword [ebp - 0xd7c]
mov dword [ebp - 0xd80], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0xd80]
push ecx
lea ecx, [ebp - 0x17c]
call fcn.004020a0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x638]
call fcn.004020e0
push 0x44e20c
lea ecx, [ebp + 0x18]
call fcn.0040fcd0
push 0x44e210
lea ecx, [ebp + 0x18]
call fcn.0040fcd0
push 0x44e218
lea ecx, [ebp + 0x18]
call fcn.0040fcd0
mov dword [ebp - 0x63c], 0x14
mov edx, dword [ebp - 0x63c]
push edx
call fcn.0041de54
add esp, 4
mov dword [ebp - 0x640], eax
cmp dword [ebp - 0x640], 0
je 0x407cf3
mov eax, dword [ebp - 0x63c]
push eax
push 0
mov ecx, dword [ebp - 0x640]
push ecx
call fcn.0041f210
add esp, 0xc
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0xd84], edx
jmp 0x407cfd
mov dword [ebp - 0xd84], 0
mov eax, dword [ebp - 0xd84]
mov dword [ebp - 0x1a8], eax
push 0xa
mov ecx, dword [ebp - 0x1a8]
push ecx
call fcn.0041f29c
cdq
mov ecx, 0x64
idiv ecx
push edx
call fcn.0042325e
add esp, 0xc
mov dword [ebp - 0x1ac], eax
mov edx, dword [ebp - 0x1a8]
push edx
lea ecx, [ebp + 0x18]
call fcn.0040fcd0
mov eax, dword [ebp - 0xd6c]
mov byte [eax + 0x78], 1
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x17c]
call fcn.004020e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1a4]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x644], esp
push 0x44e21c
call fcn.00402000
mov dword [ebp - 0xd88], eax
mov ecx, dword [ebp - 0xd6c]
call fcn.00406c40
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x648], esp
lea edx, [ebp + 0x18]
push edx
call fcn.004020a0
mov dword [ebp - 0xd8c], eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040bba0
mov dword [ebp - 0xd90], eax
mov eax, dword [ebp - 0xd90]
mov dword [ebp - 0x34], eax
cmp dword [ebp + 0xc], 0
je 0x407dcf
cmp dword [ebp - 0x34], 0
jne 0x4080ff
push 0x2b
lea ecx, [ebp - 0x664]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0xd94], eax
mov ecx, dword [ebp - 0xd94]
mov dword [ebp - 0xd98], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0xd98]
push edx
lea ecx, [ebp - 0x1d0]
call fcn.004020a0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x664]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x668], esp
push 0x44e220
call fcn.00402000
mov dword [ebp - 0xd9c], eax
mov eax, dword [ebp - 0xd9c]
mov dword [ebp - 0xda0], eax
mov byte [ebp - 4], 0xc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x66c], esp
push 0x44e224
call fcn.00402000
mov dword [ebp - 0xda4], eax
mov ecx, dword [ebp - 0xda4]
mov dword [ebp - 0xda8], ecx
mov byte [ebp - 4], 0xd
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x670], esp
push 0x44e228
lea eax, [ebp - 0x1d0]
push eax
push edx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0xdac], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea edx, [ebp - 0x68c]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xdb0], eax
mov edx, dword [ebp - 0xdb0]
mov dword [ebp - 0xdb4], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0xdb4]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.004020a0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x68c]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x690], esp
push 0x44e22c
call fcn.00402000
mov dword [ebp - 0xdb8], eax
mov ecx, dword [ebp - 0xdb8]
mov dword [ebp - 0xdbc], ecx
mov byte [ebp - 4], 0x11
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x694], esp
push 0x44e230
call fcn.00402000
mov dword [ebp - 0xdc0], eax
mov edx, dword [ebp - 0xdc0]
mov dword [ebp - 0xdc4], edx
mov byte [ebp - 4], 0x12
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x698], esp
lea eax, [ebp - 0x1ec]
push eax
call fcn.004020a0
mov dword [ebp - 0xdc8], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx edx, byte [0x456848]
push edx
mov eax, dword [0x45684c]
push eax
mov ecx, dword [ebp - 0xb8]
push ecx
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx edx, al
test edx, edx
je 0x4080af
push 0x2d
lea eax, [ebp - 0x6b4]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xdcc], eax
mov eax, dword [ebp - 0xdcc]
mov dword [ebp - 0xdd0], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xdd0]
push ecx
lea ecx, [ebp - 0x208]
call fcn.004020a0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x6b4]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x6b8], esp
push 0x44e234
call fcn.00402000
mov dword [ebp - 0xdd4], eax
mov edx, dword [ebp - 0xdd4]
mov dword [ebp - 0xdd8], edx
mov byte [ebp - 4], 0x16
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x6bc], esp
push 0x44e238
call fcn.00402000
mov dword [ebp - 0xddc], eax
mov eax, dword [ebp - 0xddc]
mov dword [ebp - 0xde0], eax
mov byte [ebp - 4], 0x17
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x6c0], esp
lea edx, [ebp - 0x208]
push edx
call fcn.004020a0
mov dword [ebp - 0xde4], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x208]
call fcn.004020e0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1ec]
call fcn.004020e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1d0]
call fcn.004020e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
lea ecx, [ebp - 0x6c]
call fcn.0040ec80
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x160]
call fcn.0040ecb0
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x160]
push edx
lea ecx, [ebp - 0x6c]
call fcn.0040ed90
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x6c4], esp
lea eax, [ebp + 0x18]
push eax
call fcn.004020a0
mov dword [ebp - 0xde8], eax
mov ecx, dword [ebp - 0xd6c]
call fcn.00407760
mov byte [ebp - 0xde9], al
mov cl, byte [ebp - 0xde9]
mov byte [0x456848], cl
mov byte [ebp - 0xf8], 0x2c
mov byte [ebp - 0xf7], 0x2e
mov byte [ebp - 0xf6], 0x25
mov byte [ebp - 0xf5], 0x24
mov byte [ebp - 0xf4], 0x7c
mov byte [ebp - 0xf3], 0x25
mov byte [ebp - 0xf2], 0x2d
mov byte [ebp - 0xf1], 0x32
mov byte [ebp - 0xf0], 0x29
mov byte [ebp - 0xef], 0x28
mov byte [ebp - 0xee], 0x27
mov byte [ebp - 0xed], 0x35
push 0xc
lea edx, [ebp - 0xf8]
push edx
lea eax, [ebp - 0x6e0]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.004073d0
mov dword [ebp - 0xdf0], eax
mov ecx, dword [ebp - 0xdf0]
mov dword [ebp - 0xdf4], ecx
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0xdf4]
call fcn.00402180
push eax
lea ecx, [ebp - 0x144]
call fcn.00402000
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x6e0]
call fcn.004020e0
push 0
lea edx, [ebp - 0x144]
push edx
lea ecx, [ebp + 0x18]
call fcn.0040fe00
cmp eax, dword [0x44ea5c]
je 0x40822c
mov byte [ebp - 0x71], 1
movzx eax, byte [0x456848]
test eax, eax
je 0x408347
push 0x45684c
movzx ecx, byte [ebp - 0x71]
push ecx
lea edx, [ebp - 0x100]
push edx
lea eax, [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0xd6c]
call fcn.00407860
xor edx, edx
cmp dword [ebp - 0x100], 0
sete dl
test edx, edx
jne 0x408345
mov eax, dword [0x45684c]
add eax, 4
mov ecx, dword [0x456840]
sub ecx, eax
push ecx
mov edx, dword [ebp - 0x100]
push edx
lea eax, [ebp - 0x244]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.004075a0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x244]
call fcn.004101c0
push eax
lea ecx, [ebp - 0x240]
call fcn.00402000
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x224]
call fcn.0040ec80
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x6e8]
push ecx
lea ecx, [ebp - 0x240]
call fcn.0040fd80
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x6f0]
push ecx
lea ecx, [ebp - 0x240]
call fcn.0040fd50
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x224]
call fcn.0041ada0
push 0x44e23c
lea ecx, [ebp - 0x6c]
call fcn.0040edc0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x224]
call fcn.0040ed70
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x240]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x244]
call fcn.0040ffc0
jmp 0x4083af
mov ecx, dword [0x456840]
mov dword [0x45684c], ecx
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xb8], edx
movzx eax, byte [ebp - 0x71]
test eax, eax
je 0x4083af
mov dword [ebp - 0x248], 0
jmp 0x40837f
mov ecx, dword [ebp - 0x248]
add ecx, 1
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
cmp edx, dword [0x45684c]
jge 0x4083af
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0x248]
movzx ecx, byte [eax]
xor ecx, 0x41
mov edx, dword [ebp - 0xb8]
add edx, dword [ebp - 0x248]
mov byte [edx], cl
jmp 0x408370
push 7
lea eax, [ebp - 0x70c]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xdf8], eax
mov eax, dword [ebp - 0xdf8]
mov dword [ebp - 0xdfc], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0xdfc]
push ecx
lea ecx, [ebp - 0x124]
call fcn.004020a0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x70c]
call fcn.004020e0
lea ecx, [ebp - 0x124]
call fcn.00402180
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0xfc]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x128]
push ecx
mov ecx, dword [ebp - 0xd6c]
call fcn.0040ba50
mov dword [ebp - 0x128], eax
cmp dword [ebp - 0x128], 0
jne 0x4087b5
push 0x2b
lea edx, [ebp - 0x728]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xe00], eax
mov edx, dword [ebp - 0xe00]
mov dword [ebp - 0xe04], edx
mov byte [ebp - 4], 0x23
mov eax, dword [ebp - 0xe04]
push eax
lea ecx, [ebp - 0x264]
call fcn.004020a0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x728]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x72c], esp
push 0x44e244
call fcn.00402000
mov dword [ebp - 0xe08], eax
mov ecx, dword [ebp - 0xe08]
mov dword [ebp - 0xe0c], ecx
mov byte [ebp - 4], 0x26
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x730], esp
push 0x44e248
call fcn.00402000
mov dword [ebp - 0xe10], eax
mov edx, dword [ebp - 0xe10]
mov dword [ebp - 0xe14], edx
mov byte [ebp - 4], 0x27
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x734], esp
push 0x44e24c
lea ecx, [ebp - 0x264]
push ecx
push eax
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0xe18], eax
mov edx, dword [ebp + 8]
push edx
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea eax, [ebp - 0x750]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xe1c], eax
mov eax, dword [ebp - 0xe1c]
mov dword [ebp - 0xe20], eax
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0xe20]
push ecx
lea ecx, [ebp - 0x280]
call fcn.004020a0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x750]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x754], esp
push 0x44e250
call fcn.00402000
mov dword [ebp - 0xe24], eax
mov edx, dword [ebp - 0xe24]
mov dword [ebp - 0xe28], edx
mov byte [ebp - 4], 0x2b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x758], esp
push 0x44e254
call fcn.00402000
mov dword [ebp - 0xe2c], eax
mov eax, dword [ebp - 0xe2c]
mov dword [ebp - 0xe30], eax
mov byte [ebp - 4], 0x2c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x75c], esp
lea edx, [ebp - 0x280]
push edx
call fcn.004020a0
mov dword [ebp - 0xe34], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x40872c
push 0x2d
lea edx, [ebp - 0x778]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xe38], eax
mov edx, dword [ebp - 0xe38]
mov dword [ebp - 0xe3c], edx
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0xe3c]
push eax
lea ecx, [ebp - 0x29c]
call fcn.004020a0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x778]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x77c], esp
push 0x44e258
call fcn.00402000
mov dword [ebp - 0xe40], eax
mov ecx, dword [ebp - 0xe40]
mov dword [ebp - 0xe44], ecx
mov byte [ebp - 4], 0x30
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x780], esp
push 0x44e25c
call fcn.00402000
mov dword [ebp - 0xe48], eax
mov edx, dword [ebp - 0xe48]
mov dword [ebp - 0xe4c], edx
mov byte [ebp - 4], 0x31
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x784], esp
lea eax, [ebp - 0x29c]
push eax
call fcn.004020a0
mov dword [ebp - 0xe50], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x29c]
call fcn.004020e0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x280]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x264]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
mov edx, dword [ebp - 0xd6c]
cmp dword [edx + 0x138], 0
jne 0x408b32
push 0x2b
lea eax, [ebp - 0x7a0]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xe54], eax
mov eax, dword [ebp - 0xe54]
mov dword [ebp - 0xe58], eax
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0xe58]
push ecx
lea ecx, [ebp - 0x2b8]
call fcn.004020a0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x7a0]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7a4], esp
push 0x44e260
call fcn.00402000
mov dword [ebp - 0xe5c], eax
mov edx, dword [ebp - 0xe5c]
mov dword [ebp - 0xe60], edx
mov byte [ebp - 4], 0x35
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7a8], esp
push 0x44e264
call fcn.00402000
mov dword [ebp - 0xe64], eax
mov eax, dword [ebp - 0xe64]
mov dword [ebp - 0xe68], eax
mov byte [ebp - 4], 0x36
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7ac], esp
push 0x44e268
lea edx, [ebp - 0x2b8]
push edx
push ecx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0xe6c], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea ecx, [ebp - 0x7c8]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0xe70], eax
mov ecx, dword [ebp - 0xe70]
mov dword [ebp - 0xe74], ecx
mov byte [ebp - 4], 0x37
mov edx, dword [ebp - 0xe74]
push edx
lea ecx, [ebp - 0x2d4]
call fcn.004020a0
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x7c8]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7cc], esp
push 0x44e26c
call fcn.00402000
mov dword [ebp - 0xe78], eax
mov eax, dword [ebp - 0xe78]
mov dword [ebp - 0xe7c], eax
mov byte [ebp - 4], 0x3a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7d0], esp
push 0x44e270
call fcn.00402000
mov dword [ebp - 0xe80], eax
mov ecx, dword [ebp - 0xe80]
mov dword [ebp - 0xe84], ecx
mov byte [ebp - 4], 0x3b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7d4], esp
lea edx, [ebp - 0x2d4]
push edx
call fcn.004020a0
mov dword [ebp - 0xe88], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x408aa9
push 0x2d
lea edx, [ebp - 0x7f0]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xe8c], eax
mov edx, dword [ebp - 0xe8c]
mov dword [ebp - 0xe90], edx
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0xe90]
push eax
lea ecx, [ebp - 0x2f0]
call fcn.004020a0
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x7f0]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7f4], esp
push 0x44e274
call fcn.00402000
mov dword [ebp - 0xe94], eax
mov ecx, dword [ebp - 0xe94]
mov dword [ebp - 0xe98], ecx
mov byte [ebp - 4], 0x3f
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7f8], esp
push 0x44e278
call fcn.00402000
mov dword [ebp - 0xe9c], eax
mov edx, dword [ebp - 0xe9c]
mov dword [ebp - 0xea0], edx
mov byte [ebp - 4], 0x40
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x7fc], esp
lea eax, [ebp - 0x2f0]
push eax
call fcn.004020a0
mov dword [ebp - 0xea4], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x2f0]
call fcn.004020e0
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x2d4]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2b8]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
mov byte [ebp - 0xec], 0x15
mov byte [ebp - 0xeb], 0x29
mov byte [ebp - 0xea], 0x28
mov byte [ebp - 0xe9], 0x32
mov byte [ebp - 0xe8], 0x61
mov byte [ebp - 0xe7], 0x28
mov byte [ebp - 0xe6], 0x32
mov byte [ebp - 0xe5], 0x61
mov byte [ebp - 0xe4], 0x70
push 9
lea edx, [ebp - 0xec]
push edx
lea eax, [ebp - 0x818]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.004073d0
mov dword [ebp - 0xea8], eax
mov ecx, dword [ebp - 0xea8]
mov dword [ebp - 0xeac], ecx
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0xeac]
call fcn.00402180
push eax
lea ecx, [ebp - 0x124]
call fcn.0040fcb0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x818]
call fcn.004020e0
lea ecx, [ebp - 0x124]
call fcn.00404c60
mov dword [ebp - 0x108], eax
push 1
lea edx, [ebp - 0x834]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xeb0], eax
mov edx, dword [ebp - 0xeb0]
mov dword [ebp - 0xeb4], edx
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0xeb4]
push eax
mov ecx, dword [ebp - 0x108]
push ecx
push 0
lea ecx, [ebp - 0x124]
call fcn.0040fd20
push eax
lea ecx, [ebp - 0x30]
call fcn.004020a0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x834]
call fcn.004020e0
lea ecx, [ebp - 0x30]
call fcn.00402180
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0xfc]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x128]
push ecx
mov ecx, dword [ebp - 0xd6c]
call fcn.0040ba50
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jne 0x408ffa
push 0x2b
lea edx, [ebp - 0x850]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xeb8], eax
mov edx, dword [ebp - 0xeb8]
mov dword [ebp - 0xebc], edx
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0xebc]
push eax
lea ecx, [ebp - 0x30c]
call fcn.004020a0
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x850]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x854], esp
push 0x44e27c
call fcn.00402000
mov dword [ebp - 0xec0], eax
mov ecx, dword [ebp - 0xec0]
mov dword [ebp - 0xec4], ecx
mov byte [ebp - 4], 0x48
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x858], esp
push 0x44e280
call fcn.00402000
mov dword [ebp - 0xec8], eax
mov edx, dword [ebp - 0xec8]
mov dword [ebp - 0xecc], edx
mov byte [ebp - 4], 0x49
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x85c], esp
push 0x44e284
lea ecx, [ebp - 0x30c]
push ecx
push eax
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0xed0], eax
mov edx, dword [ebp + 8]
push edx
mov byte [ebp - 4], 0x47
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea eax, [ebp - 0x878]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xed4], eax
mov eax, dword [ebp - 0xed4]
mov dword [ebp - 0xed8], eax
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0xed8]
push ecx
lea ecx, [ebp - 0x328]
call fcn.004020a0
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x878]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x87c], esp
push 0x44e288
call fcn.00402000
mov dword [ebp - 0xedc], eax
mov edx, dword [ebp - 0xedc]
mov dword [ebp - 0xee0], edx
mov byte [ebp - 4], 0x4d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x880], esp
push 0x44e28c
call fcn.00402000
mov dword [ebp - 0xee4], eax
mov eax, dword [ebp - 0xee4]
mov dword [ebp - 0xee8], eax
mov byte [ebp - 4], 0x4e
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x884], esp
lea edx, [ebp - 0x328]
push edx
call fcn.004020a0
mov dword [ebp - 0xeec], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x4c
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x408f65
push 0x2d
lea edx, [ebp - 0x8a0]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xef0], eax
mov edx, dword [ebp - 0xef0]
mov dword [ebp - 0xef4], edx
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0xef4]
push eax
lea ecx, [ebp - 0x344]
call fcn.004020a0
mov byte [ebp - 4], 0x51
lea ecx, [ebp - 0x8a0]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8a4], esp
push 0x44e290
call fcn.00402000
mov dword [ebp - 0xef8], eax
mov ecx, dword [ebp - 0xef8]
mov dword [ebp - 0xefc], ecx
mov byte [ebp - 4], 0x52
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8a8], esp
push 0x44e294
call fcn.00402000
mov dword [ebp - 0xf00], eax
mov edx, dword [ebp - 0xf00]
mov dword [ebp - 0xf04], edx
mov byte [ebp - 4], 0x53
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8ac], esp
lea eax, [ebp - 0x344]
push eax
call fcn.004020a0
mov dword [ebp - 0xf08], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x344]
call fcn.004020e0
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0x328]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x30c]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
mov edx, dword [ebp - 0xd6c]
cmp dword [edx + 0x140], 0
jne 0x409383
push 0x2b
lea eax, [ebp - 0x8c8]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xf0c], eax
mov eax, dword [ebp - 0xf0c]
mov dword [ebp - 0xf10], eax
mov byte [ebp - 4], 0x54
mov ecx, dword [ebp - 0xf10]
push ecx
lea ecx, [ebp - 0x360]
call fcn.004020a0
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x8c8]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8cc], esp
push 0x44e298
call fcn.00402000
mov dword [ebp - 0xf14], eax
mov edx, dword [ebp - 0xf14]
mov dword [ebp - 0xf18], edx
mov byte [ebp - 4], 0x57
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8d0], esp
push 0x44e29c
call fcn.00402000
mov dword [ebp - 0xf1c], eax
mov eax, dword [ebp - 0xf1c]
mov dword [ebp - 0xf20], eax
mov byte [ebp - 4], 0x58
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8d4], esp
push 0x44e2a0
lea edx, [ebp - 0x360]
push edx
push ecx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0xf24], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x56
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea ecx, [ebp - 0x8f0]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0xf28], eax
mov ecx, dword [ebp - 0xf28]
mov dword [ebp - 0xf2c], ecx
mov byte [ebp - 4], 0x59
mov edx, dword [ebp - 0xf2c]
push edx
lea ecx, [ebp - 0x37c]
call fcn.004020a0
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x8f0]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8f4], esp
push 0x44e2a4
call fcn.00402000
mov dword [ebp - 0xf30], eax
mov eax, dword [ebp - 0xf30]
mov dword [ebp - 0xf34], eax
mov byte [ebp - 4], 0x5c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8f8], esp
push 0x44e2a8
call fcn.00402000
mov dword [ebp - 0xf38], eax
mov ecx, dword [ebp - 0xf38]
mov dword [ebp - 0xf3c], ecx
mov byte [ebp - 4], 0x5d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x8fc], esp
lea edx, [ebp - 0x37c]
push edx
call fcn.004020a0
mov dword [ebp - 0xf40], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x5b
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x4092ee
push 0x2d
lea edx, [ebp - 0x918]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xf44], eax
mov edx, dword [ebp - 0xf44]
mov dword [ebp - 0xf48], edx
mov byte [ebp - 4], 0x5e
mov eax, dword [ebp - 0xf48]
push eax
lea ecx, [ebp - 0x398]
call fcn.004020a0
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x918]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x91c], esp
push 0x44e2ac
call fcn.00402000
mov dword [ebp - 0xf4c], eax
mov ecx, dword [ebp - 0xf4c]
mov dword [ebp - 0xf50], ecx
mov byte [ebp - 4], 0x61
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x920], esp
push 0x44e2b0
call fcn.00402000
mov dword [ebp - 0xf54], eax
mov edx, dword [ebp - 0xf54]
mov dword [ebp - 0xf58], edx
mov byte [ebp - 4], 0x62
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x924], esp
lea eax, [ebp - 0x398]
push eax
call fcn.004020a0
mov dword [ebp - 0xf5c], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x60
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x398]
call fcn.004020e0
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x37c]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x360]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
mov edx, dword [ebp - 0xd6c]
mov eax, dword [ebp - 0xb8]
mov dword [edx + 0xb8], eax
mov ecx, dword [ebp - 0xd6c]
cmp dword [ecx + 0xb8], 0
je 0x4093bf
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xb8]
movzx ecx, word [eax]
cmp ecx, 0x5a4d
je 0x409735
push 0x2b
lea edx, [ebp - 0x940]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xf60], eax
mov edx, dword [ebp - 0xf60]
mov dword [ebp - 0xf64], edx
mov byte [ebp - 4], 0x63
mov eax, dword [ebp - 0xf64]
push eax
lea ecx, [ebp - 0x3b4]
call fcn.004020a0
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x940]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x944], esp
push 0x44e2b4
call fcn.00402000
mov dword [ebp - 0xf68], eax
mov ecx, dword [ebp - 0xf68]
mov dword [ebp - 0xf6c], ecx
mov byte [ebp - 4], 0x66
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x948], esp
push 0x44e2b8
call fcn.00402000
mov dword [ebp - 0xf70], eax
mov edx, dword [ebp - 0xf70]
mov dword [ebp - 0xf74], edx
mov byte [ebp - 4], 0x67
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x94c], esp
push 0x44e2bc
lea ecx, [ebp - 0x3b4]
push ecx
push eax
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0xf78], eax
mov edx, dword [ebp + 8]
push edx
mov byte [ebp - 4], 0x65
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea eax, [ebp - 0x968]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xf7c], eax
mov eax, dword [ebp - 0xf7c]
mov dword [ebp - 0xf80], eax
mov byte [ebp - 4], 0x68
mov ecx, dword [ebp - 0xf80]
push ecx
lea ecx, [ebp - 0x3d0]
call fcn.004020a0
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x968]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x96c], esp
push 0x44e2c0
call fcn.00402000
mov dword [ebp - 0xf84], eax
mov edx, dword [ebp - 0xf84]
mov dword [ebp - 0xf88], edx
mov byte [ebp - 4], 0x6b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x970], esp
push 0x44e2c4
call fcn.00402000
mov dword [ebp - 0xf8c], eax
mov eax, dword [ebp - 0xf8c]
mov dword [ebp - 0xf90], eax
mov byte [ebp - 4], 0x6c
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x974], esp
lea edx, [ebp - 0x3d0]
push edx
call fcn.004020a0
mov dword [ebp - 0xf94], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x6a
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x4096a0
push 0x2d
lea edx, [ebp - 0x990]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xf98], eax
mov edx, dword [ebp - 0xf98]
mov dword [ebp - 0xf9c], edx
mov byte [ebp - 4], 0x6d
mov eax, dword [ebp - 0xf9c]
push eax
lea ecx, [ebp - 0x3ec]
call fcn.004020a0
mov byte [ebp - 4], 0x6f
lea ecx, [ebp - 0x990]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x994], esp
push 0x44e2c8
call fcn.00402000
mov dword [ebp - 0xfa0], eax
mov ecx, dword [ebp - 0xfa0]
mov dword [ebp - 0xfa4], ecx
mov byte [ebp - 4], 0x70
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x998], esp
push 0x44e2cc
call fcn.00402000
mov dword [ebp - 0xfa8], eax
mov edx, dword [ebp - 0xfa8]
mov dword [ebp - 0xfac], edx
mov byte [ebp - 4], 0x71
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x99c], esp
lea eax, [ebp - 0x3ec]
push eax
call fcn.004020a0
mov dword [ebp - 0xfb0], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x6f
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x3ec]
call fcn.004020e0
mov byte [ebp - 4], 0x65
lea ecx, [ebp - 0x3d0]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x3b4]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xb8]
mov ecx, dword [ebp - 0xb8]
add ecx, dword [eax + 0x3c]
mov edx, dword [ebp - 0xd6c]
mov dword [edx + 0xbc], ecx
mov eax, dword [ebp - 0xd6c]
cmp dword [eax + 0xbc], 0
je 0x40977d
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xbc]
cmp dword [edx], 0x4550
je 0x409af3
push 0x2b
lea eax, [ebp - 0x9b8]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0xfb4], eax
mov eax, dword [ebp - 0xfb4]
mov dword [ebp - 0xfb8], eax
mov byte [ebp - 4], 0x72
mov ecx, dword [ebp - 0xfb8]
push ecx
lea ecx, [ebp - 0x408]
call fcn.004020a0
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x9b8]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x9bc], esp
push 0x44e2d0
call fcn.00402000
mov dword [ebp - 0xfbc], eax
mov edx, dword [ebp - 0xfbc]
mov dword [ebp - 0xfc0], edx
mov byte [ebp - 4], 0x75
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x9c0], esp
push 0x44e2d4
call fcn.00402000
mov dword [ebp - 0xfc4], eax
mov eax, dword [ebp - 0xfc4]
mov dword [ebp - 0xfc8], eax
mov byte [ebp - 4], 0x76
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x9c4], esp
push 0x44e2d8
lea edx, [ebp - 0x408]
push edx
push ecx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0xfcc], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x74
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea ecx, [ebp - 0x9e0]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0xfd0], eax
mov ecx, dword [ebp - 0xfd0]
mov dword [ebp - 0xfd4], ecx
mov byte [ebp - 4], 0x77
mov edx, dword [ebp - 0xfd4]
push edx
lea ecx, [ebp - 0x424]
call fcn.004020a0
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x9e0]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x9e4], esp
push 0x44e2dc
call fcn.00402000
mov dword [ebp - 0xfd8], eax
mov eax, dword [ebp - 0xfd8]
mov dword [ebp - 0xfdc], eax
mov byte [ebp - 4], 0x7a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x9e8], esp
push 0x44e2e0
call fcn.00402000
mov dword [ebp - 0xfe0], eax
mov ecx, dword [ebp - 0xfe0]
mov dword [ebp - 0xfe4], ecx
mov byte [ebp - 4], 0x7b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x9ec], esp
lea edx, [ebp - 0x424]
push edx
call fcn.004020a0
mov dword [ebp - 0xfe8], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x79
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x409a5e
push 0x2d
lea edx, [ebp - 0xa08]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0xfec], eax
mov edx, dword [ebp - 0xfec]
mov dword [ebp - 0xff0], edx
mov byte [ebp - 4], 0x7c
mov eax, dword [ebp - 0xff0]
push eax
lea ecx, [ebp - 0x440]
call fcn.004020a0
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0xa08]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa0c], esp
push 0x44e2e4
call fcn.00402000
mov dword [ebp - 0xff4], eax
mov ecx, dword [ebp - 0xff4]
mov dword [ebp - 0xff8], ecx
mov byte [ebp - 4], 0x7f
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa10], esp
push 0x44e2e8
call fcn.00402000
mov dword [ebp - 0xffc], eax
mov edx, dword [ebp - 0xffc]
mov dword [ebp - 0x1000], edx
mov byte [ebp - 4], 0x80
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa14], esp
lea eax, [ebp - 0x440]
push eax
call fcn.004020a0
mov dword [ebp - 0x1004], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x7e
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x440]
call fcn.004020e0
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0x424]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x408]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
push 0x44
push 0
mov edx, dword [ebp - 0xd6c]
add edx, 0xd4
push edx
call fcn.0041f210
add esp, 0xc
push 0x10
push 0
mov eax, dword [ebp - 0xd6c]
add eax, 0xc4
push eax
call fcn.0041f210
add esp, 0xc
push 8
lea ecx, [ebp - 0xa30]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x1008], eax
mov ecx, dword [ebp - 0x1008]
mov dword [ebp - 0x100c], ecx
mov byte [ebp - 4], 0x81
mov edx, dword [ebp - 0x100c]
push edx
lea ecx, [ebp - 0x124]
call fcn.00402100
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xa30]
call fcn.004020e0
lea ecx, [ebp - 0x124]
call fcn.00402180
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0x128]
push edx
mov ecx, dword [ebp - 0xd6c]
call fcn.0040ba50
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x409f27
push 0x30
lea eax, [ebp - 0xa4c]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x1010], eax
mov eax, dword [ebp - 0x1010]
mov dword [ebp - 0x1014], eax
mov byte [ebp - 4], 0x82
mov ecx, dword [ebp - 0x1014]
push ecx
lea ecx, [ebp - 0x45c]
call fcn.004020a0
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0xa4c]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa50], esp
push 0x44e2ec
call fcn.00402000
mov dword [ebp - 0x1018], eax
mov edx, dword [ebp - 0x1018]
mov dword [ebp - 0x101c], edx
mov byte [ebp - 4], 0x85
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa54], esp
push 0x44e2f0
call fcn.00402000
mov dword [ebp - 0x1020], eax
mov eax, dword [ebp - 0x1020]
mov dword [ebp - 0x1024], eax
mov byte [ebp - 4], 0x86
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa58], esp
lea edx, [ebp - 0x45c]
push edx
call fcn.004020a0
mov dword [ebp - 0x1028], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x84
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea ecx, [ebp - 0xa74]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x102c], eax
mov ecx, dword [ebp - 0x102c]
mov dword [ebp - 0x1030], ecx
mov byte [ebp - 4], 0x87
mov edx, dword [ebp - 0x1030]
push edx
lea ecx, [ebp - 0x478]
call fcn.004020a0
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0xa74]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa78], esp
push 0x44e2f4
call fcn.00402000
mov dword [ebp - 0x1034], eax
mov eax, dword [ebp - 0x1034]
mov dword [ebp - 0x1038], eax
mov byte [ebp - 4], 0x8a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa7c], esp
push 0x44e2f8
call fcn.00402000
mov dword [ebp - 0x103c], eax
mov ecx, dword [ebp - 0x103c]
mov dword [ebp - 0x1040], ecx
mov byte [ebp - 4], 0x8b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa80], esp
lea edx, [ebp - 0x478]
push edx
call fcn.004020a0
mov dword [ebp - 0x1044], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x89
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x409e92
push 0x2d
lea edx, [ebp - 0xa9c]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x1048], eax
mov edx, dword [ebp - 0x1048]
mov dword [ebp - 0x104c], edx
mov byte [ebp - 4], 0x8c
mov eax, dword [ebp - 0x104c]
push eax
lea ecx, [ebp - 0x494]
call fcn.004020a0
mov byte [ebp - 4], 0x8e
lea ecx, [ebp - 0xa9c]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xaa0], esp
push 0x44e2fc
call fcn.00402000
mov dword [ebp - 0x1050], eax
mov ecx, dword [ebp - 0x1050]
mov dword [ebp - 0x1054], ecx
mov byte [ebp - 4], 0x8f
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xaa4], esp
push 0x44e300
call fcn.00402000
mov dword [ebp - 0x1058], eax
mov edx, dword [ebp - 0x1058]
mov dword [ebp - 0x105c], edx
mov byte [ebp - 4], 0x90
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xaa8], esp
lea eax, [ebp - 0x494]
push eax
call fcn.004020a0
mov dword [ebp - 0x1060], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x8e
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x89
lea ecx, [ebp - 0x494]
call fcn.004020e0
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0x478]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x45c]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
lea ecx, [ebp - 0x50]
call fcn.00401fd0
mov byte [ebp - 4], 0x91
lea edx, [ebp - 0xab0]
push edx
lea ecx, [ebp - 0x6c]
call fcn.0040ee20
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0xab8]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0040edf0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea ecx, [ebp - 0x50]
call fcn.0041ade0
mov eax, dword [ebp - 0xd6c]
add eax, 0xc4
push eax
mov ecx, dword [ebp - 0xd6c]
add ecx, 0xd4
push ecx
push 0
push 0
push 4
push 0
push 0
push 0
lea ecx, [ebp - 0x50]
call fcn.00402180
push eax
mov edx, dword [ebp + 0xc]
push edx
call dword [ebp - 0x14]
test eax, eax
jne 0x40a326
push 0x2b
lea eax, [ebp - 0xad4]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x1064], eax
mov eax, dword [ebp - 0x1064]
mov dword [ebp - 0x1068], eax
mov byte [ebp - 4], 0x92
mov ecx, dword [ebp - 0x1068]
push ecx
lea ecx, [ebp - 0x4b0]
call fcn.004020a0
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0xad4]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xad8], esp
push 0x44e304
call fcn.00402000
mov dword [ebp - 0x106c], eax
mov edx, dword [ebp - 0x106c]
mov dword [ebp - 0x1070], edx
mov byte [ebp - 4], 0x95
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xadc], esp
push 0x44e308
call fcn.00402000
mov dword [ebp - 0x1074], eax
mov eax, dword [ebp - 0x1074]
mov dword [ebp - 0x1078], eax
mov byte [ebp - 4], 0x96
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xae0], esp
push 0x44e30c
lea edx, [ebp - 0x4b0]
push edx
push ecx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x107c], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x94
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea ecx, [ebp - 0xafc]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x1080], eax
mov ecx, dword [ebp - 0x1080]
mov dword [ebp - 0x1084], ecx
mov byte [ebp - 4], 0x97
mov edx, dword [ebp - 0x1084]
push edx
lea ecx, [ebp - 0x4cc]
call fcn.004020a0
mov byte [ebp - 4], 0x99
lea ecx, [ebp - 0xafc]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb00], esp
push 0x44e310
call fcn.00402000
mov dword [ebp - 0x1088], eax
mov eax, dword [ebp - 0x1088]
mov dword [ebp - 0x108c], eax
mov byte [ebp - 4], 0x9a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb04], esp
push 0x44e314
call fcn.00402000
mov dword [ebp - 0x1090], eax
mov ecx, dword [ebp - 0x1090]
mov dword [ebp - 0x1094], ecx
mov byte [ebp - 4], 0x9b
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb08], esp
lea edx, [ebp - 0x4cc]
push edx
call fcn.004020a0
mov dword [ebp - 0x1098], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0x99
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x40a285
push 0x2d
lea edx, [ebp - 0xb24]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x109c], eax
mov edx, dword [ebp - 0x109c]
mov dword [ebp - 0x10a0], edx
mov byte [ebp - 4], 0x9c
mov eax, dword [ebp - 0x10a0]
push eax
lea ecx, [ebp - 0x4e8]
call fcn.004020a0
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0xb24]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb28], esp
push 0x44e318
call fcn.00402000
mov dword [ebp - 0x10a4], eax
mov ecx, dword [ebp - 0x10a4]
mov dword [ebp - 0x10a8], ecx
mov byte [ebp - 4], 0x9f
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb2c], esp
push 0x44e31c
call fcn.00402000
mov dword [ebp - 0x10ac], eax
mov edx, dword [ebp - 0x10ac]
mov dword [ebp - 0x10b0], edx
mov byte [ebp - 4], 0xa0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb30], esp
lea eax, [ebp - 0x4e8]
push eax
call fcn.004020a0
mov dword [ebp - 0x10b4], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0x9e
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x99
lea ecx, [ebp - 0x4e8]
call fcn.004020e0
mov byte [ebp - 4], 0x94
lea ecx, [ebp - 0x4cc]
call fcn.004020e0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x4b0]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x50]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
mov byte [ebp - 0xb4], 0x15
mov byte [ebp - 0xb3], 0x29
mov byte [ebp - 0xb2], 0x28
mov byte [ebp - 0xb1], 0x32
mov byte [ebp - 0xb0], 0x61
mov byte [ebp - 0xaf], 0x28
mov byte [ebp - 0xae], 0x32
mov byte [ebp - 0xad], 0x61
mov byte [ebp - 0xac], 0x78
push 9
lea edx, [ebp - 0xb4]
push edx
lea eax, [ebp - 0xb4c]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.004073d0
mov dword [ebp - 0x10b8], eax
mov ecx, dword [ebp - 0x10b8]
mov dword [ebp - 0x10bc], ecx
mov byte [ebp - 4], 0xa1
mov ecx, dword [ebp - 0x10bc]
call fcn.00402180
push eax
lea ecx, [ebp - 0x124]
call fcn.0040fcb0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xb4c]
call fcn.004020e0
lea ecx, [ebp - 0x124]
call fcn.00404c60
mov dword [ebp - 0xe0], eax
push 9
lea edx, [ebp - 0xb68]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x10c0], eax
mov edx, dword [ebp - 0x10c0]
mov dword [ebp - 0x10c4], edx
mov byte [ebp - 4], 0xa2
mov eax, dword [ebp - 0x10c4]
push eax
mov ecx, dword [ebp - 0xe0]
push ecx
push 0
lea ecx, [ebp - 0x124]
call fcn.0040fd20
push eax
lea ecx, [ebp - 0x30]
call fcn.00402100
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xb68]
call fcn.004020e0
lea ecx, [ebp - 0x30]
call fcn.00402180
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0xfc]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x128]
push ecx
mov ecx, dword [ebp - 0xd6c]
call fcn.0040ba50
mov dword [ebp - 0x70], eax
push 4
push 0x1000
push 4
push 0
call dword [ebp - 0x70]
mov edx, dword [ebp - 0xd6c]
mov dword [edx + 0x118], eax
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x118]
mov dword [ecx], 0x10007
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0x118]
push eax
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xc8]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x140]
call ecx
test eax, eax
jne 0x40a846
push 0x2b
lea edx, [ebp - 0xb84]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x10c8], eax
mov edx, dword [ebp - 0x10c8]
mov dword [ebp - 0x10cc], edx
mov byte [ebp - 4], 0xa3
mov eax, dword [ebp - 0x10cc]
push eax
lea ecx, [ebp - 0x504]
call fcn.004020a0
mov byte [ebp - 4], 0xa5
lea ecx, [ebp - 0xb84]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb88], esp
push 0x44e320
call fcn.00402000
mov dword [ebp - 0x10d0], eax
mov ecx, dword [ebp - 0x10d0]
mov dword [ebp - 0x10d4], ecx
mov byte [ebp - 4], 0xa6
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb8c], esp
push 0x44e324
call fcn.00402000
mov dword [ebp - 0x10d8], eax
mov edx, dword [ebp - 0x10d8]
mov dword [ebp - 0x10dc], edx
mov byte [ebp - 4], 0xa7
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0xb90], esp
push 0x44e328
lea ecx, [ebp - 0x504]
push ecx
push eax
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x10e0], eax
mov edx, dword [ebp + 8]
push edx
mov byte [ebp - 4], 0xa5
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea eax, [ebp - 0xbac]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x10e4], eax
mov eax, dword [ebp - 0x10e4]
mov dword [ebp - 0x10e8], eax
mov byte [ebp - 4], 0xa8
mov ecx, dword [ebp - 0x10e8]
push ecx
lea ecx, [ebp - 0x520]
call fcn.004020a0
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0xbac]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xbb0], esp
push 0x44e32c
call fcn.00402000
mov dword [ebp - 0x10ec], eax
mov edx, dword [ebp - 0x10ec]
mov dword [ebp - 0x10f0], edx
mov byte [ebp - 4], 0xab
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xbb4], esp
push 0x44e330
call fcn.00402000
mov dword [ebp - 0x10f4], eax
mov eax, dword [ebp - 0x10f4]
mov dword [ebp - 0x10f8], eax
mov byte [ebp - 4], 0xac
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xbb8], esp
lea edx, [ebp - 0x520]
push edx
call fcn.004020a0
mov dword [ebp - 0x10fc], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0xaa
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x40a7a5
push 0x2d
lea edx, [ebp - 0xbd4]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x1100], eax
mov edx, dword [ebp - 0x1100]
mov dword [ebp - 0x1104], edx
mov byte [ebp - 4], 0xad
mov eax, dword [ebp - 0x1104]
push eax
lea ecx, [ebp - 0x53c]
call fcn.004020a0
mov byte [ebp - 4], 0xaf
lea ecx, [ebp - 0xbd4]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xbd8], esp
push 0x44e334
call fcn.00402000
mov dword [ebp - 0x1108], eax
mov ecx, dword [ebp - 0x1108]
mov dword [ebp - 0x110c], ecx
mov byte [ebp - 4], 0xb0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xbdc], esp
push 0x44e338
call fcn.00402000
mov dword [ebp - 0x1110], eax
mov edx, dword [ebp - 0x1110]
mov dword [ebp - 0x1114], edx
mov byte [ebp - 4], 0xb1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xbe0], esp
lea eax, [ebp - 0x53c]
push eax
call fcn.004020a0
mov dword [ebp - 0x1118], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0xaf
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0x53c]
call fcn.004020e0
mov byte [ebp - 4], 0xa5
lea ecx, [ebp - 0x520]
call fcn.004020e0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x504]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x50]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
push 0
push 4
mov edx, dword [ebp - 0xd6c]
add edx, 0x11c
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x118]
mov edx, dword [ecx + 0xa4]
add edx, 8
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0xc4]
push ecx
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0x138]
call eax
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xbc]
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x11c]
cmp ecx, dword [edx + 0x34]
jne 0x40ada4
mov byte [ebp - 0x54c], 0x15
mov byte [ebp - 0x54b], 0x29
mov byte [ebp - 0x54a], 0x28
mov byte [ebp - 0x549], 0x32
mov byte [ebp - 0x548], 0x61
mov byte [ebp - 0x547], 0x28
mov byte [ebp - 0x546], 0x32
mov byte [ebp - 0x545], 0x61
mov byte [ebp - 0x544], 0x70
mov byte [ebp - 0x543], 0x71
push 0xa
lea edx, [ebp - 0x54c]
push edx
lea eax, [ebp - 0xbfc]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.004073d0
mov dword [ebp - 0x111c], eax
mov ecx, dword [ebp - 0x111c]
mov dword [ebp - 0x1120], ecx
mov byte [ebp - 4], 0xb2
mov ecx, dword [ebp - 0x1120]
call fcn.00402180
push eax
lea ecx, [ebp - 0x124]
call fcn.0040fcb0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xbfc]
call fcn.004020e0
lea ecx, [ebp - 0x124]
call fcn.00404c60
mov dword [ebp - 0x540], eax
push 0xa
lea edx, [ebp - 0xc18]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x1124], eax
mov edx, dword [ebp - 0x1124]
mov dword [ebp - 0x1128], edx
mov byte [ebp - 4], 0xb3
mov eax, dword [ebp - 0x1128]
push eax
mov ecx, dword [ebp - 0x540]
push ecx
push 0
lea ecx, [ebp - 0x124]
call fcn.0040fd20
push eax
lea ecx, [ebp - 0x30]
call fcn.00402100
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xc18]
call fcn.004020e0
lea ecx, [ebp - 0x30]
call fcn.00402180
mov dword [ebp - 0xfc], eax
mov edx, dword [ebp - 0xfc]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x12c]
push ecx
mov ecx, dword [ebp - 0xd6c]
call fcn.0040ba50
mov dword [ebp - 0x550], eax
cmp dword [ebp - 0x550], 0
jne 0x40ad84
push 0x2b
lea edx, [ebp - 0xc34]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x112c], eax
mov edx, dword [ebp - 0x112c]
mov dword [ebp - 0x1130], edx
mov byte [ebp - 4], 0xb4
mov eax, dword [ebp - 0x1130]
push eax
lea ecx, [ebp - 0x56c]
call fcn.004020a0
mov byte [ebp - 4], 0xb6
lea ecx, [ebp - 0xc34]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc38], esp
push 0x44e33c
call fcn.00402000
mov dword [ebp - 0x1134], eax
mov ecx, dword [ebp - 0x1134]
mov dword [ebp - 0x1138], ecx
mov byte [ebp - 4], 0xb7
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc3c], esp
push 0x44e340
call fcn.00402000
mov dword [ebp - 0x113c], eax
mov edx, dword [ebp - 0x113c]
mov dword [ebp - 0x1140], edx
mov byte [ebp - 4], 0xb8
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0xc40], esp
push 0x44e344
lea ecx, [ebp - 0x56c]
push ecx
push eax
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x1144], eax
mov edx, dword [ebp + 8]
push edx
mov byte [ebp - 4], 0xb6
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x2c
lea eax, [ebp - 0xc5c]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x1148], eax
mov eax, dword [ebp - 0x1148]
mov dword [ebp - 0x114c], eax
mov byte [ebp - 4], 0xb9
mov ecx, dword [ebp - 0x114c]
push ecx
lea ecx, [ebp - 0x588]
call fcn.004020a0
mov byte [ebp - 4], 0xbb
lea ecx, [ebp - 0xc5c]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc60], esp
push 0x44e348
call fcn.00402000
mov dword [ebp - 0x1150], eax
mov edx, dword [ebp - 0x1150]
mov dword [ebp - 0x1154], edx
mov byte [ebp - 4], 0xbc
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc64], esp
push 0x44e34c
call fcn.00402000
mov dword [ebp - 0x1158], eax
mov eax, dword [ebp - 0x1158]
mov dword [ebp - 0x115c], eax
mov byte [ebp - 4], 0xbd
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc68], esp
lea edx, [ebp - 0x588]
push edx
call fcn.004020a0
mov dword [ebp - 0x1160], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0xbb
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x40ace3
push 0x2d
lea edx, [ebp - 0xc84]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x1164], eax
mov edx, dword [ebp - 0x1164]
mov dword [ebp - 0x1168], edx
mov byte [ebp - 4], 0xbe
mov eax, dword [ebp - 0x1168]
push eax
lea ecx, [ebp - 0x5a4]
call fcn.004020a0
mov byte [ebp - 4], 0xc0
lea ecx, [ebp - 0xc84]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc88], esp
push 0x44e350
call fcn.00402000
mov dword [ebp - 0x116c], eax
mov ecx, dword [ebp - 0x116c]
mov dword [ebp - 0x1170], ecx
mov byte [ebp - 4], 0xc1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc8c], esp
push 0x44e354
call fcn.00402000
mov dword [ebp - 0x1174], eax
mov edx, dword [ebp - 0x1174]
mov dword [ebp - 0x1178], edx
mov byte [ebp - 4], 0xc2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xc90], esp
lea eax, [ebp - 0x5a4]
push eax
call fcn.004020a0
mov dword [ebp - 0x117c], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0xc0
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0xbb
lea ecx, [ebp - 0x5a4]
call fcn.004020e0
mov byte [ebp - 4], 0xb6
lea ecx, [ebp - 0x588]
call fcn.004020e0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x56c]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x50]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0x11c]
push eax
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xc4]
push edx
call dword [ebp - 0x550]
mov byte [ebp - 0xa4], 0x15
mov byte [ebp - 0xa3], 0x29
mov byte [ebp - 0xa2], 0x28
mov byte [ebp - 0xa1], 0x32
mov byte [ebp - 0xa0], 0x61
mov byte [ebp - 0x9f], 0x28
mov byte [ebp - 0x9e], 0x32
mov byte [ebp - 0x9d], 0x61
mov byte [ebp - 0x9c], 0x70
mov byte [ebp - 0x9b], 0x70
push 0xa
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xcac]
push ecx
mov ecx, dword [ebp - 0xd6c]
call fcn.004073d0
mov dword [ebp - 0x1180], eax
mov edx, dword [ebp - 0x1180]
mov dword [ebp - 0x1184], edx
mov byte [ebp - 4], 0xc3
mov ecx, dword [ebp - 0x1184]
call fcn.00402180
push eax
lea ecx, [ebp - 0x124]
call fcn.0040fcb0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xcac]
call fcn.004020e0
lea ecx, [ebp - 0x124]
call fcn.00404c60
mov dword [ebp - 0x98], eax
push 0xb
lea eax, [ebp - 0xcc8]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x1188], eax
mov eax, dword [ebp - 0x1188]
mov dword [ebp - 0x118c], eax
mov byte [ebp - 4], 0xc4
mov ecx, dword [ebp - 0x118c]
push ecx
mov edx, dword [ebp - 0x98]
push edx
push 0
lea ecx, [ebp - 0x124]
call fcn.0040fd20
push eax
lea ecx, [ebp - 0x30]
call fcn.00402100
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xcc8]
call fcn.004020e0
lea ecx, [ebp - 0x30]
call fcn.00402180
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
push eax
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0x128]
push edx
mov ecx, dword [ebp - 0xd6c]
call fcn.0040ba50
mov dword [ebp - 0x104], eax
push 0x40
push 0x3000
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0xbc]
mov edx, dword [ecx + 0x50]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0xbc]
mov edx, dword [ecx + 0x34]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0xc4]
push ecx
call dword [ebp - 0x104]
mov edx, dword [ebp - 0xd6c]
mov dword [edx + 0x120], eax
mov eax, dword [ebp - 0xd6c]
cmp dword [eax + 0x120], 0
jne 0x40b33e
push 0x2b
lea ecx, [ebp - 0xce4]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x1190], eax
mov ecx, dword [ebp - 0x1190]
mov dword [ebp - 0x1194], ecx
mov byte [ebp - 4], 0xc5
mov edx, dword [ebp - 0x1194]
push edx
lea ecx, [ebp - 0x5c0]
call fcn.004020a0
mov byte [ebp - 4], 0xc7
lea ecx, [ebp - 0xce4]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xce8], esp
push 0x44e358
call fcn.00402000
mov dword [ebp - 0x1198], eax
mov eax, dword [ebp - 0x1198]
mov dword [ebp - 0x119c], eax
mov byte [ebp - 4], 0xc8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xcec], esp
push 0x44e35c
call fcn.00402000
mov dword [ebp - 0x11a0], eax
mov ecx, dword [ebp - 0x11a0]
mov dword [ebp - 0x11a4], ecx
mov byte [ebp - 4], 0xc9
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0xcf0], esp
push 0x44e360
lea eax, [ebp - 0x5c0]
push eax
push edx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x11a8], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0xc7
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
push 0x3e8
call dword [0x447020]
push 0x40
push 0x3000
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xbc]
mov ecx, dword [eax + 0x50]
push ecx
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xbc]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xc4]
push eax
call dword [ebp - 0x104]
mov ecx, dword [ebp - 0xd6c]
mov dword [ecx + 0x120], eax
mov edx, dword [ebp - 0xd6c]
cmp dword [edx + 0x120], 0
jne 0x40b32f
push 0x2c
lea eax, [ebp - 0xd0c]
push eax
lea ecx, [ebp - 0xd4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x11ac], eax
mov eax, dword [ebp - 0x11ac]
mov dword [ebp - 0x11b0], eax
mov byte [ebp - 4], 0xca
mov ecx, dword [ebp - 0x11b0]
push ecx
lea ecx, [ebp - 0x5dc]
call fcn.004020a0
mov byte [ebp - 4], 0xcc
lea ecx, [ebp - 0xd0c]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd10], esp
push 0x44e368
call fcn.00402000
mov dword [ebp - 0x11b4], eax
mov edx, dword [ebp - 0x11b4]
mov dword [ebp - 0x11b8], edx
mov byte [ebp - 4], 0xcd
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd14], esp
push 0x44e36c
call fcn.00402000
mov dword [ebp - 0x11bc], eax
mov eax, dword [ebp - 0x11bc]
mov dword [ebp - 0x11c0], eax
mov byte [ebp - 4], 0xce
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd18], esp
lea edx, [ebp - 0x5dc]
push edx
call fcn.004020a0
mov dword [ebp - 0x11c4], eax
mov eax, dword [ebp + 8]
push eax
mov byte [ebp - 4], 0xcc
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
movzx ecx, byte [0x456848]
push ecx
mov edx, dword [0x45684c]
push edx
mov eax, dword [ebp - 0xb8]
push eax
mov ecx, dword [ebp - 0xd6c]
call fcn.0040b7e0
movzx ecx, al
test ecx, ecx
je 0x40b28e
push 0x2d
lea edx, [ebp - 0xd34]
push edx
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x94]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x11c8], eax
mov edx, dword [ebp - 0x11c8]
mov dword [ebp - 0x11cc], edx
mov byte [ebp - 4], 0xcf
mov eax, dword [ebp - 0x11cc]
push eax
lea ecx, [ebp - 0x5f8]
call fcn.004020a0
mov byte [ebp - 4], 0xd1
lea ecx, [ebp - 0xd34]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd38], esp
push 0x44e370
call fcn.00402000
mov dword [ebp - 0x11d0], eax
mov ecx, dword [ebp - 0x11d0]
mov dword [ebp - 0x11d4], ecx
mov byte [ebp - 4], 0xd2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd3c], esp
push 0x44e374
call fcn.00402000
mov dword [ebp - 0x11d8], eax
mov edx, dword [ebp - 0x11d8]
mov dword [ebp - 0x11dc], edx
mov byte [ebp - 4], 0xd3
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd40], esp
lea eax, [ebp - 0x5f8]
push eax
call fcn.004020a0
mov dword [ebp - 0x11e0], eax
mov ecx, dword [ebp + 8]
push ecx
mov byte [ebp - 4], 0xd1
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0xcc
lea ecx, [ebp - 0x5f8]
call fcn.004020e0
mov byte [ebp - 4], 0xc7
lea ecx, [ebp - 0x5dc]
call fcn.004020e0
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x5c0]
call fcn.004020e0
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x50]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
jmp 0x40b67d
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x5c0]
call fcn.004020e0
push 0
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xbc]
mov ecx, dword [eax + 0x54]
push ecx
mov edx, dword [ebp - 0xb8]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x120]
push ecx
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xc4]
push eax
call dword [ebp - 0x128]
mov ecx, dword [ebp - 0xd6c]
mov dword [ecx + 0x124], 0
jmp 0x40b3a4
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0x124]
add eax, 1
mov ecx, dword [ebp - 0xd6c]
mov dword [ecx + 0x124], eax
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xbc]
movzx ecx, word [eax + 6]
mov edx, dword [ebp - 0xd6c]
cmp dword [edx + 0x124], ecx
jge 0x40b459
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0xb8]
mov edx, dword [ebp - 0xb8]
add edx, dword [ecx + 0x3c]
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x124]
imul ecx, ecx, 0x28
lea edx, [edx + ecx + 0xf8]
mov eax, dword [ebp - 0xd6c]
mov dword [eax + 0xc0], edx
push 0
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xc0]
mov eax, dword [edx + 0x10]
push eax
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xc0]
mov eax, dword [ebp - 0xb8]
add eax, dword [edx + 0x14]
push eax
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xc0]
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x120]
add ecx, dword [edx + 0xc]
push ecx
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xc4]
push eax
call dword [ebp - 0x128]
jmp 0x40b389
push 0
push 4
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xbc]
add edx, 0x34
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x118]
mov edx, dword [ecx + 0xa4]
add edx, 8
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0xc4]
push ecx
call dword [ebp - 0x128]
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0xbc]
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0x120]
add edx, dword [eax + 0x28]
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x118]
mov dword [ecx + 0xb0], edx
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0x118]
push eax
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xc8]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x144]
call ecx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd44], esp
push 0x44e378
call fcn.00402000
mov dword [ebp - 0x11e4], eax
mov edx, dword [ebp - 0x11e4]
mov dword [ebp - 0x11e8], edx
mov byte [ebp - 4], 0xd4
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd48], esp
push 0x44e37c
call fcn.00402000
mov dword [ebp - 0x11ec], eax
mov eax, dword [ebp - 0x11ec]
mov dword [ebp - 0x11f0], eax
mov byte [ebp - 4], 0xd5
push 0x32
lea ecx, [ebp - 0xd68]
push ecx
lea edx, [ebp - 0xd4]
push edx
lea ecx, [ebp - 0x94]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x11f4], eax
mov ecx, dword [ebp - 0x11f4]
mov dword [ebp - 0x11f8], ecx
mov byte [ebp - 4], 0xd6
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xd4c], esp
mov edx, dword [ebp - 0x11f8]
push edx
call fcn.004020a0
mov dword [ebp - 0x11fc], eax
push 0
mov byte [ebp - 4], 0xd7
mov ecx, dword [ebp - 0xd6c]
call fcn.0040d630
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0xd68]
call fcn.004020e0
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0xc8]
push ecx
mov edx, dword [ebp - 0xd6c]
mov eax, dword [edx + 0x13c]
call eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0xd6c]
mov edx, dword [ecx + 0xc4]
push edx
mov eax, dword [ebp - 0xd6c]
mov ecx, dword [eax + 0x148]
call ecx
push 0x8000
push 0
mov edx, dword [ebp + 0x14]
push edx
call dword [ebp - 0xd8]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x50]
call fcn.004020e0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x124]
call fcn.004020e0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x160]
call fcn.0040ed70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c]
call fcn.0040ed70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd4]
call fcn.004020e0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.00406a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x18]
call fcn.004020e0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041ebd2
mov esp, ebp
pop ebp
ret 0x2c