Function at 0x441050
Capabilities:
Contain obfuscated stackstrings
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x577edf
mov eax, dword fs:[0]
push eax
sub esp, 0x628
mov eax, dword [0x5bda40]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x44c], ecx
lea ecx, [ebp - 0x30]
call fcn.00410610
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00410610
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
call fcn.00410610
mov byte [ebp - 4], 2
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x24], 0
mov ecx, dword [ebp - 0x44c]
call fcn.0043b1a0
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x90], 0
jmp 0x4410fc
mov eax, dword [ebp - 0x90]
add eax, 1
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x44c]
add ecx, 0x290
call fcn.004478e0
cmp dword [ebp - 0x90], eax
jge 0x442408
mov dword [ebp - 0x14], 1
lea ecx, [ebp - 0x198]
call fcn.00410610
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, dword [ebp - 0x44c]
add ecx, 0x290
call fcn.00447a10
mov eax, dword [eax + 0xc]
call fcn.00517bd0
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x90], 0
jne 0x441183
cmp dword [ebp - 0x34], 0
je 0x441183
mov dword [ebp - 0x10], 1
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x98], 0
mov edx, dword [ebp - 0x90]
push edx
mov ecx, dword [ebp - 0x44c]
add ecx, 0x290
call fcn.00447a10
movzx eax, byte [eax]
test eax, eax
je 0x4411db
mov ecx, dword [ebp - 0x98]
add ecx, 1
push ecx
push str.gg_tool_down_hide_d
lea edx, [ebp - 0x198]
push edx
call fcn.004089d0
add esp, 0xc
mov eax, dword [ebp - 0x98]
add eax, 1
mov dword [ebp - 0x98], eax
jmp 0x44122e
cmp dword [ebp - 0x94], 0
je 0x44120a
mov ecx, dword [ebp - 0x2c]
add ecx, 1
push ecx
push 0x597ec0
lea edx, [ebp - 0x198]
push edx
call fcn.004089d0
add esp, 0xc
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x2c], eax
jmp 0x44122e
mov ecx, dword [ebp - 0x24]
add ecx, 6
push ecx
push str.gg_tool_down_check_area_d
lea edx, [ebp - 0x198]
push edx
call fcn.004089d0
add esp, 0xc
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x90]
push ecx
mov ecx, 0x5cac18
call fcn.00447900
push eax
lea ecx, [ebp - 0x194]
call fcn.004429c0
mov byte [ebp - 4], 4
cmp dword [ebp - 0x18], 0
je 0x44126c
push 0x5cac40
lea ecx, [ebp - 0x194]
call fcn.00442d30
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x90]
push edx
mov ecx, dword [ebp - 0x44c]
add ecx, 0x290
call fcn.00447a10
mov eax, dword [eax + 8]
call fcn.005191c0
mov dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x44c]
cmp dword [eax + 0xcc], 0
jne 0x4412b5
mov dword [ebp - 0x19c], 0
cmp dword [ebp - 0x10], 0
je 0x4412d1
mov ecx, dword [ebp - 0x90]
sub ecx, 1
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x144], 1
jne 0x441306
call fcn.0043b1c0
mov ecx, eax
call fcn.00429410
movzx edx, al
neg edx
sbb edx, edx
add edx, 1
mov dword [ebp - 0x19c], edx
push 0x597f28
lea ecx, [ebp - 0x190]
call fcn.004069a0
cmp dword [ebp - 0x148], 1
jne 0x441336
call fcn.0043b1c0
mov ecx, eax
call fcn.00429410
mov byte [ebp - 0x19d], al
movzx eax, byte [ebp - 0x19d]
test eax, eax
jne 0x441336
mov dword [ebp - 0x19c], 1
cmp dword [ebp - 0x130], 0
je 0x4414b2
cmp dword [ebp - 0x19c], 0
je 0x4414b2
mov ecx, dword [ebp - 0x44c]
movzx edx, byte [ecx + 0x34d]
push edx
call fcn.004193e0
mov ecx, eax
call fcn.0043b350
mov eax, dword [ebp - 0x44c]
movzx ecx, byte [eax + 0x34c]
push ecx
call fcn.004193e0
mov ecx, eax
call fcn.0043b310
mov edx, dword [ebp - 0x44c]
movzx eax, byte [edx + 0x34e]
push eax
call fcn.004193e0
mov ecx, eax
call fcn.0043b330
mov ecx, dword [ebp - 0x44c]
movzx edx, byte [ecx + 0x34f]
push edx
call fcn.004193e0
mov ecx, eax
call fcn.0040f9e0
push str.aXV1cTswMHZ0dWJ1dC96Yy9rdGlpZWpiby9kcG4wZHB2b3UvZXBAdGQ
lea eax, [ebp - 0x314]
push eax
call fcn.00435040
add esp, 8
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x454], ecx
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x454]
call fcn.00402100
push ecx
mov ecx, esp
mov dword [ebp - 0x2f8], esp
push eax
call fcn.00406900
mov dword [ebp - 0x458], eax
mov edx, dword [ebp - 0x458]
mov dword [ebp - 0x45c], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x44c]
add eax, 0x2c0
push ecx
mov ecx, esp
mov dword [ebp - 0x318], esp
push eax
call fcn.004068e0
mov dword [ebp - 0x460], eax
mov ecx, dword [ebp - 0x460]
mov dword [ebp - 0x464], ecx
mov byte [ebp - 4], 7
push ecx
mov edx, esp
mov dword [ebp - 0x31c], esp
push edx
call fcn.00435150
add esp, 4
mov dword [ebp - 0x468], eax
mov eax, dword [ebp - 0x468]
mov dword [ebp - 0x46c], eax
mov byte [ebp - 4], 8
push ecx
mov ecx, esp
mov dword [ebp - 0x320], esp
push 0x5cad4c
call fcn.004068e0
mov dword [ebp - 0x470], eax
mov ecx, dword [ebp - 0x470]
mov dword [ebp - 0x474], ecx
mov byte [ebp - 4], 9
call fcn.004193e0
mov byte [ebp - 4], 5
mov ecx, eax
call fcn.0041b5b0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x314]
call fcn.004020e0
cmp dword [ebp - 0x110], 1
jne 0x4418c1
cmp dword [ebp - 0x19c], 0
jne 0x4414d5
cmp dword [ebp - 0x148], 2
jne 0x4418c1
movzx edx, byte [0x5cad48]
test edx, edx
jne 0x4417b2
mov eax, dword [ebp - 0x44c]
add eax, 0xc0
push eax
lea ecx, [ebp - 0x1ac]
call fcn.004068e0
mov byte [ebp - 4], 0xa
push ecx
mov ecx, esp
mov dword [ebp - 0x324], esp
lea edx, [ebp - 0x1ac]
push edx
call fcn.004068e0
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x47c], eax
mov byte [ebp - 4], 0xb
call fcn.0043b1c0
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.00421640
push ecx
mov ecx, esp
mov dword [ebp - 0x328], esp
push ecx
call fcn.00435150
add esp, 4
mov dword [ebp - 0x480], eax
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x484], edx
mov byte [ebp - 4], 0xc
call fcn.0043b1c0
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0043b250
push ecx
mov ecx, esp
mov dword [ebp - 0x32c], esp
push 0x5cad4c
call fcn.004068e0
mov dword [ebp - 0x488], eax
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x48c], eax
mov byte [ebp - 4], 0xd
call fcn.0043b1c0
mov byte [ebp - 4], 0xa
mov ecx, eax
call fcn.0043b2b0
mov ecx, dword [ebp - 0x148]
push ecx
call fcn.0043b1c0
mov ecx, eax
call fcn.004217a0
lea ecx, [ebp - 0x1b0]
call fcn.00410610
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1a4]
call fcn.00410610
mov byte [ebp - 4], 0xf
push 0x5cad90
lea ecx, [ebp - 0x1a4]
call fcn.00406980
push 0x1c
lea edx, [ebp - 0x330]
push edx
call fcn.004fac60
add esp, 8
mov dword [ebp - 0x490], eax
mov eax, dword [ebp - 0x490]
mov dword [ebp - 0x494], eax
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x494]
push ecx
lea ecx, [ebp - 0x1b0]
call fcn.00406980
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x330]
call fcn.004072c0
push 0x597fac
lea ecx, [ebp - 0x1b0]
call fcn.00407000
push ecx
mov ecx, esp
mov dword [ebp - 0x334], esp
lea edx, [ebp - 0x1b0]
push edx
call fcn.004068e0
mov dword [ebp - 0x498], eax
call fcn.0044c7a0
add esp, 4
mov dword [ebp - 0x49c], eax
cmp dword [ebp - 0x49c], 0
je 0x441688
lea ecx, [ebp - 0x1b0]
call fcn.004072e0
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
push ecx
mov ecx, esp
mov dword [ebp - 0x338], esp
lea eax, [ebp - 0x1b0]
push eax
call fcn.004068e0
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x4a4], ecx
mov byte [ebp - 4], 0x11
push ecx
mov ecx, esp
mov dword [ebp - 0x33c], esp
lea edx, [ebp - 0x1a4]
push edx
call fcn.004068e0
mov dword [ebp - 0x4a8], eax
mov byte [ebp - 4], 0xf
call fcn.0044e790
add esp, 8
call fcn.0043b1c0
mov ecx, eax
call fcn.00426d20
mov byte [ebp - 0x1a5], al
lea ecx, [ebp - 0x194]
call fcn.004070f0
movzx eax, al
test eax, eax
jne 0x44175d
movzx ecx, byte [ebp - 0x1a5]
test ecx, ecx
je 0x44175d
lea edx, [ebp - 0x194]
push edx
lea ecx, [ebp - 0x38]
call fcn.00406a40
push 0x597fc8
lea ecx, [ebp - 0x38]
call fcn.00406a60
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x30]
call fcn.00406a40
push 0x597fcc
lea ecx, [ebp - 0x30]
call fcn.00406a60
lea ecx, [ebp - 0x194]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00406a40
push 0x597fd0
lea ecx, [ebp - 0x28]
call fcn.00406a60
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1a4]
call fcn.004072c0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1b0]
call fcn.004072c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1ac]
call fcn.004072c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x194]
call fcn.004367a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x198]
call fcn.004072c0
jmp 0x4410ed
lea edx, [ebp - 0x188]
push edx
lea ecx, [ebp - 0x1b4]
call fcn.004068e0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1b4]
call fcn.004070f0
movzx eax, al
test eax, eax
je 0x4417ea
push 0x597fd4
lea ecx, [ebp - 0x1b4]
call fcn.004069a0
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x340], esp
lea edx, [ebp - 0x1b4]
push edx
call fcn.004068e0
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b0], eax
mov byte [ebp - 4], 0x13
push ecx
mov ecx, esp
mov dword [ebp - 0x344], esp
lea edx, [ebp - 0x190]
push edx
call fcn.004068e0
mov dword [ebp - 0x4b4], eax
mov eax, dword [ebp - 0x4b4]
mov dword [ebp - 0x4b8], eax
mov byte [ebp - 4], 0x14
call fcn.00420920
mov byte [ebp - 4], 0x12
mov ecx, eax
call fcn.00406580
push ecx
mov ecx, esp
mov dword [ebp - 0x348], esp
lea edx, [ebp - 0x190]
push edx
call fcn.004068e0
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c0], eax
mov byte [ebp - 4], 0x15
push 0
call fcn.00420920
mov byte [ebp - 4], 0x12
mov ecx, eax
call fcn.00404460
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1b4]
call fcn.004072c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x194]
call fcn.004367a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x198]
call fcn.004072c0
jmp 0x4410ed
cmp dword [ebp - 0x110], 1
jne 0x4418ed
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x194]
call fcn.004367a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x198]
call fcn.004072c0
jmp 0x4410ed
cmp dword [ebp - 0x19c], 0
jne 0x441903
cmp dword [ebp - 0x148], 2
jne 0x4423e5
mov dword [ebp - 0x1c0], 0
lea ecx, [ebp - 0x194]
call fcn.004070f0
movzx ecx, al
test ecx, ecx
jne 0x44193b
lea edx, [ebp - 0x194]
push edx
lea ecx, [ebp - 0x38]
call fcn.00406a40
push 0x597ff8
lea ecx, [ebp - 0x38]
call fcn.00406a60
push 4
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x190]
call fcn.00406c40
mov byte [ebp - 4], 0x16
push 0
push 0x597ffc
lea ecx, [ebp - 0x1bc]
call fcn.00406ae0
cmp eax, 0xffffffff
jne 0x441985
push 0
push str..exe
lea ecx, [ebp - 0x1bc]
call fcn.00406ae0
cmp eax, 0xffffffff
je 0x441ffb
lea ecx, [ebp - 0x1e0]
call fcn.004103b0
mov byte [ebp - 4], 0x17
push ecx
mov ecx, esp
mov dword [ebp - 0x34c], esp
push 0x598014
call fcn.00406900
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], ecx
mov byte [ebp - 4], 0x18
push ecx
mov ecx, esp
mov dword [ebp - 0x350], esp
lea edx, [ebp - 0x178]
push edx
call fcn.004068e0
mov dword [ebp - 0x4cc], eax
lea eax, [ebp - 0x1e0]
push eax
mov byte [ebp - 4], 0x17
call fcn.00420db0
add esp, 0xc
lea ecx, [ebp - 0x1c8]
push ecx
lea ecx, [ebp - 0x1e0]
call fcn.0041d680
jmp 0x441a13
push 0
lea edx, [ebp - 0x358]
push edx
lea ecx, [ebp - 0x1c8]
call fcn.0042c1b0
lea eax, [ebp - 0x360]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.00445a90
push eax
lea ecx, [ebp - 0x1c8]
call fcn.00420000
movzx ecx, al
test ecx, ecx
je 0x441a96
lea ecx, [ebp - 0x1c8]
call fcn.004f7ca0
push ecx
mov ecx, esp
mov dword [ebp - 0x364], esp
push eax
call fcn.004068e0
mov dword [ebp - 0x4d0], eax
mov ecx, 0x5ca968
call fcn.00437df0
mov dword [ebp - 0x4d4], eax
cmp dword [ebp - 0x4d4], 0
je 0x441a91
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x158], 0
jmp 0x441a96
jmp 0x4419ff
lea ecx, [ebp - 0x100]
call fcn.004070f0
movzx edx, al
test edx, edx
jne 0x441d55
cmp dword [ebp - 0x15c], 0
je 0x441ac1
mov dword [ebp - 0x4d8], 0x598018
jmp 0x441acb
mov dword [ebp - 0x4d8], 0x59801c
push ecx
mov ecx, esp
mov dword [ebp - 0x368], esp
lea eax, [ebp - 0xf8]
push eax
call fcn.004068e0
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x4e0], ecx
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0x154]
push edx
mov eax, dword [ebp - 0x13c]
push eax
mov ecx, dword [ebp - 0x140]
push ecx
mov edx, dword [ebp - 0x144]
push edx
mov eax, dword [ebp - 0x158]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x36c], esp
lea edx, [ebp - 0x174]
push edx
call fcn.004068e0
mov dword [ebp - 0x4e4], eax
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0x4e8], eax
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x164]
push ecx
mov edx, dword [ebp - 0x160]
push edx
push 0x1388
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x370], esp
mov eax, dword [ebp - 0x4d8]
push eax
call fcn.00406900
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x4ec]
mov dword [ebp - 0x4f0], ecx
mov byte [ebp - 4], 0x1b
push ecx
mov ecx, esp
mov dword [ebp - 0x374], esp
lea edx, [ebp - 0x17c]
push edx
call fcn.004068e0
mov dword [ebp - 0x4f4], eax
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 0x4f8], eax
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, esp
mov dword [ebp - 0x378], esp
push 0x598020
call fcn.00406900
mov dword [ebp - 0x4fc], eax
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0x500], ecx
mov byte [ebp - 4], 0x1d
push ecx
mov ecx, esp
mov dword [ebp - 0x37c], esp
lea edx, [ebp - 0x184]
push edx
call fcn.004068e0
mov dword [ebp - 0x504], eax
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x508], eax
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, esp
mov dword [ebp - 0x380], esp
lea edx, [ebp - 0x188]
push edx
call fcn.004068e0
mov dword [ebp - 0x50c], eax
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0x510], eax
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x138]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x384], esp
lea edx, [ebp - 0x18c]
push edx
call fcn.004068e0
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x518], eax
mov byte [ebp - 4], 0x20
push ecx
mov ecx, esp
mov dword [ebp - 0x388], esp
lea edx, [ebp - 0x190]
push edx
call fcn.004068e0
mov dword [ebp - 0x51c], eax
lea eax, [ebp - 0xe8]
push eax
mov byte [ebp - 4], 0x17
call fcn.0044db70
add esp, 0x50
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0x1c], ecx
lea edx, [ebp - 0x194]
push edx
mov ecx, dword [ebp - 0x44c]
call fcn.00444090
cmp dword [ebp - 0x1c], 0
je 0x441ce2
sub esp, 0xf8
mov ecx, esp
mov dword [ebp - 0x38c], esp
lea eax, [ebp - 0x194]
push eax
call fcn.004429c0
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x44c]
call fcn.0043b0d0
jmp 0x441d50
lea ecx, [ebp - 0xe4]
call fcn.00445870
movzx ecx, al
test ecx, ecx
je 0x441d18
lea ecx, [ebp - 0xcc]
call fcn.00445870
movzx edx, al
test edx, edx
je 0x441d18
lea ecx, [ebp - 0xb4]
call fcn.00445870
movzx eax, al
test eax, eax
jne 0x441d50
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b6f0
lea ecx, [ebp - 0xe8]
push ecx
mov ecx, dword [ebp - 0x44c]
add ecx, 0x80
call fcn.00445ae0
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b700
jmp 0x441fe7
cmp dword [ebp - 0x15c], 0
je 0x441d6a
mov dword [ebp - 0x528], 0x598024
jmp 0x441d74
mov dword [ebp - 0x528], 0x598028
push ecx
mov ecx, esp
mov dword [ebp - 0x390], esp
lea edx, [ebp - 0xf8]
push edx
call fcn.004068e0
mov dword [ebp - 0x52c], eax
mov eax, dword [ebp - 0x52c]
mov dword [ebp - 0x530], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x154]
push ecx
mov edx, dword [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0x140]
push eax
mov ecx, dword [ebp - 0x144]
push ecx
mov edx, dword [ebp - 0x158]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x394], esp
lea eax, [ebp - 0x174]
push eax
call fcn.004068e0
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0x538], ecx
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x164]
push edx
mov eax, dword [ebp - 0x160]
push eax
push 0x1388
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x398], esp
mov edx, dword [ebp - 0x528]
push edx
call fcn.00406900
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x540], eax
mov byte [ebp - 4], 0x23
push ecx
mov ecx, esp
mov dword [ebp - 0x39c], esp
lea edx, [ebp - 0x17c]
push edx
call fcn.004068e0
mov dword [ebp - 0x544], eax
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x548], eax
mov byte [ebp - 4], 0x24
push ecx
mov ecx, esp
mov dword [ebp - 0x3a0], esp
push 0x59802c
call fcn.00406900
mov dword [ebp - 0x54c], eax
mov ecx, dword [ebp - 0x54c]
mov dword [ebp - 0x550], ecx
mov byte [ebp - 4], 0x25
push ecx
mov ecx, esp
mov dword [ebp - 0x3a4], esp
lea edx, [ebp - 0x184]
push edx
call fcn.004068e0
mov dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x554]
mov dword [ebp - 0x558], eax
mov byte [ebp - 4], 0x26
push ecx
mov ecx, esp
mov dword [ebp - 0x3a8], esp
lea edx, [ebp - 0x188]
push edx
call fcn.004068e0
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x55c]
mov dword [ebp - 0x560], eax
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x138]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x3ac], esp
lea edx, [ebp - 0x18c]
push edx
call fcn.004068e0
mov dword [ebp - 0x564], eax
mov eax, dword [ebp - 0x564]
mov dword [ebp - 0x568], eax
mov byte [ebp - 4], 0x28
push ecx
mov ecx, esp
mov dword [ebp - 0x3b0], esp
lea edx, [ebp - 0x190]
push edx
call fcn.004068e0
mov dword [ebp - 0x56c], eax
lea eax, [ebp - 0xe8]
push eax
mov byte [ebp - 4], 0x17
call fcn.0044db70
add esp, 0x50
mov dword [ebp - 0x570], eax
mov ecx, dword [ebp - 0x570]
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x1c], 0
je 0x441f79
sub esp, 0xf8
mov ecx, esp
mov dword [ebp - 0x3b4], esp
lea edx, [ebp - 0x194]
push edx
call fcn.004429c0
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x44c]
call fcn.0043b0d0
jmp 0x441fe7
lea ecx, [ebp - 0xe4]
call fcn.00445870
movzx eax, al
test eax, eax
je 0x441faf
lea ecx, [ebp - 0xcc]
call fcn.00445870
movzx ecx, al
test ecx, ecx
je 0x441faf
lea ecx, [ebp - 0xb4]
call fcn.00445870
movzx edx, al
test edx, edx
jne 0x441fe7
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b6f0
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0x44c]
add ecx, 0x80
call fcn.00445ae0
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b700
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1e0]
call fcn.00410520
jmp 0x442277
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x190]
call fcn.004070f0
movzx ecx, al
test ecx, ecx
jne 0x442277
cmp dword [ebp - 0x15c], 0
je 0x442277
mov edx, dword [ebp - 0x15c]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x3b8], esp
lea eax, [ebp - 0x188]
push eax
call fcn.004068e0
mov dword [ebp - 0x578], eax
mov ecx, dword [ebp - 0x578]
mov dword [ebp - 0x57c], ecx
mov byte [ebp - 4], 0x29
push ecx
mov ecx, esp
mov dword [ebp - 0x3bc], esp
lea edx, [ebp - 0x18c]
push edx
call fcn.004068e0
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x580]
mov dword [ebp - 0x584], eax
mov byte [ebp - 4], 0x2a
push ecx
mov ecx, esp
mov dword [ebp - 0x3c0], esp
lea edx, [ebp - 0x190]
push edx
call fcn.004068e0
mov dword [ebp - 0x588], eax
mov byte [ebp - 4], 0x16
call fcn.004fbad0
add esp, 0x10
mov dword [ebp - 0x58c], eax
xor eax, eax
cmp dword [ebp - 0x58c], 0
sete al
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x442203
mov ecx, dword [ebp - 0x15c]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x3c4], esp
lea edx, [ebp - 0x188]
push edx
call fcn.004068e0
mov dword [ebp - 0x590], eax
mov eax, dword [ebp - 0x590]
mov dword [ebp - 0x594], eax
mov byte [ebp - 4], 0x2b
push ecx
mov ecx, esp
mov dword [ebp - 0x3c8], esp
lea edx, [ebp - 0x18c]
push edx
call fcn.004068e0
mov dword [ebp - 0x598], eax
mov eax, dword [ebp - 0x598]
mov dword [ebp - 0x59c], eax
mov byte [ebp - 4], 0x2c
push ecx
mov ecx, esp
mov dword [ebp - 0x3cc], esp
push 0x598030
call fcn.00406900
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x5a0]
mov dword [ebp - 0x5a4], ecx
mov byte [ebp - 4], 0x2d
push ecx
mov ecx, esp
mov dword [ebp - 0x3d0], esp
lea edx, [ebp - 0x190]
push edx
call fcn.004068e0
mov dword [ebp - 0x5a8], eax
mov byte [ebp - 4], 0x16
call fcn.004e9660
add esp, 0x14
mov dword [ebp - 0x5ac], eax
mov eax, dword [ebp - 0x5ac]
mov dword [ebp - 0x1c], eax
push 8
push ecx
mov ecx, esp
mov dword [ebp - 0x3d4], esp
lea edx, [ebp - 0x188]
push edx
call fcn.004068e0
mov dword [ebp - 0x5b0], eax
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0x5b4], eax
mov byte [ebp - 4], 0x2e
push ecx
mov ecx, esp
mov dword [ebp - 0x3d8], esp
lea edx, [ebp - 0x18c]
push edx
call fcn.004068e0
mov dword [ebp - 0x5b8], eax
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x5bc], eax
mov byte [ebp - 4], 0x2f
push ecx
mov ecx, esp
mov dword [ebp - 0x3dc], esp
lea edx, [ebp - 0x190]
push edx
call fcn.004068e0
mov dword [ebp - 0x5c0], eax
mov byte [ebp - 4], 0x16
call fcn.004fbad0
add esp, 0x10
cmp dword [ebp - 0x1c], 0
jne 0x442277
lea ecx, [ebp - 0xe4]
call fcn.00445870
movzx eax, al
test eax, eax
je 0x44223f
lea ecx, [ebp - 0xcc]
call fcn.00445870
movzx ecx, al
test ecx, ecx
je 0x44223f
lea ecx, [ebp - 0xb4]
call fcn.00445870
movzx edx, al
test edx, edx
jne 0x442277
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b6f0
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0x44c]
add ecx, 0x80
call fcn.00445ae0
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b700
lea ecx, [ebp - 0x17c]
push ecx
lea ecx, [ebp - 0x1b8]
call fcn.004068e0
mov byte [ebp - 4], 0x30
push 0
push 0x598034
lea ecx, [ebp - 0x1b8]
call fcn.00406ae0
cmp eax, 0xffffffff
je 0x442349
lea ecx, [ebp - 0x1f4]
call fcn.00443010
mov byte [ebp - 4], 0x31
lea edx, [ebp - 0x188]
push edx
lea ecx, [ebp - 0x1e8]
call fcn.00406980
lea eax, [ebp - 0x170]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.00406980
cmp dword [ebp - 0x15c], 0
je 0x4422fd
mov dword [ebp - 0x1e4], 1
mov ecx, dword [ebp - 0x1e4]
add ecx, 0x10
mov dword [ebp - 0x1e4], ecx
cmp dword [ebp - 0x164], 0
je 0x442315
mov edx, dword [ebp - 0x1e4]
add edx, 0x20
mov dword [ebp - 0x1e4], edx
lea eax, [ebp - 0x190]
push eax
lea ecx, [ebp - 0x1f4]
call fcn.00406980
lea ecx, [ebp - 0x1f4]
push ecx
call fcn.004e6430
mov ecx, eax
call fcn.004e6470
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x1f4]
call fcn.00443050
cmp dword [ebp - 0x144], 1
jne 0x442359
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x1c], 1
je 0x442393
lea ecx, [ebp - 0x194]
call fcn.004070f0
movzx edx, al
test edx, edx
jne 0x442393
cmp dword [ebp - 0x14], 0
je 0x442393
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x30]
call fcn.00406a40
push 0x59803c
lea ecx, [ebp - 0x30]
call fcn.00406a60
cmp dword [ebp - 0x1c], 0
jne 0x4423c7
lea ecx, [ebp - 0x194]
call fcn.004070f0
movzx ecx, al
test ecx, ecx
jne 0x4423c7
lea edx, [ebp - 0x194]
push edx
lea ecx, [ebp - 0x28]
call fcn.00406a40
push 0x598040
lea ecx, [ebp - 0x28]
call fcn.00406a60
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1b8]
call fcn.004072c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1bc]
call fcn.004072c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x194]
call fcn.004367a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x198]
call fcn.004072c0
jmp 0x4410ed
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x3e0], esp
lea eax, [ebp - 0x28]
push eax
call fcn.004068e0
mov dword [ebp - 0x5c4], eax
mov ecx, dword [ebp - 0x5c4]
mov dword [ebp - 0x5c8], ecx
mov byte [ebp - 4], 0x32
push ecx
mov ecx, esp
mov dword [ebp - 0x3e4], esp
lea edx, [ebp - 0x30]
push edx
call fcn.004068e0
mov dword [ebp - 0x5cc], eax
mov eax, dword [ebp - 0x5cc]
mov dword [ebp - 0x5d0], eax
mov byte [ebp - 4], 0x33
push ecx
mov ecx, esp
mov dword [ebp - 0x3e8], esp
lea edx, [ebp - 0x38]
push edx
call fcn.004068e0
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x5d4]
mov dword [ebp - 0x5d8], eax
mov byte [ebp - 4], 0x34
push ecx
mov ecx, esp
mov dword [ebp - 0x3ec], esp
push 0x5cad38
call fcn.004068e0
mov dword [ebp - 0x5dc], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x44c]
call fcn.00440b70
mov ecx, dword [ebp - 0x44c]
add ecx, 0x354
call fcn.00445c80
test eax, eax
je 0x442906
lea ecx, [ebp - 0x1fc]
push ecx
mov ecx, dword [ebp - 0x44c]
add ecx, 0x354
call fcn.0041d680
jmp 0x4424f1
push 0
lea edx, [ebp - 0x3f4]
push edx
lea ecx, [ebp - 0x1fc]
call fcn.00445df0
lea eax, [ebp - 0x3fc]
push eax
mov ecx, dword [ebp - 0x44c]
add ecx, 0x354
call fcn.00445a90
push eax
lea ecx, [ebp - 0x1fc]
call fcn.00420000
movzx ecx, al
test ecx, ecx
je 0x442901
lea ecx, [ebp - 0x1fc]
call fcn.004f7ca0
push eax
lea ecx, [ebp - 0x2f4]
call fcn.004429c0
mov byte [ebp - 4], 0x35
mov edx, dword [ebp - 0x254]
cmp edx, dword [ebp - 0x250]
jl 0x44259b
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp - 0x400], ecx
mov edx, dword [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x404]
push eax
lea ecx, [ebp - 0x40c]
push ecx
mov ecx, dword [ebp - 0x44c]
add ecx, 0x354
call fcn.00445d20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2f4]
call fcn.004367a0
jmp 0x442901
cmp dword [ebp - 0x2bc], 0
je 0x4425b0
mov dword [ebp - 0x5e0], 0x598048
jmp 0x4425ba
mov dword [ebp - 0x5e0], 0x59804c
push ecx
mov ecx, esp
mov dword [ebp - 0x410], esp
push 0x598044
call fcn.00406900
mov dword [ebp - 0x5e4], eax
mov edx, dword [ebp - 0x5e4]
mov dword [ebp - 0x5e8], edx
mov byte [ebp - 4], 0x36
push 0
mov eax, dword [ebp - 0x29c]
push eax
mov ecx, dword [ebp - 0x2a0]
push ecx
mov edx, dword [ebp - 0x2a4]
push edx
mov eax, dword [ebp - 0x2b8]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x414], esp
lea edx, [ebp - 0x2d4]
push edx
call fcn.004068e0
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], eax
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x2c4]
push ecx
mov edx, dword [ebp - 0x2c0]
push edx
push 0x1388
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x418], esp
mov eax, dword [ebp - 0x5e0]
push eax
call fcn.00406900
mov dword [ebp - 0x5f4], eax
mov ecx, dword [ebp - 0x5f4]
mov dword [ebp - 0x5f8], ecx
mov byte [ebp - 4], 0x38
push ecx
mov ecx, esp
mov dword [ebp - 0x41c], esp
lea edx, [ebp - 0x2dc]
push edx
call fcn.004068e0
mov dword [ebp - 0x5fc], eax
mov eax, dword [ebp - 0x5fc]
mov dword [ebp - 0x600], eax
mov byte [ebp - 4], 0x39
push ecx
mov ecx, esp
mov dword [ebp - 0x420], esp
push 0x598050
call fcn.00406900
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x604]
mov dword [ebp - 0x608], ecx
mov byte [ebp - 4], 0x3a
push ecx
mov ecx, esp
mov dword [ebp - 0x424], esp
lea edx, [ebp - 0x2e4]
push edx
call fcn.004068e0
mov dword [ebp - 0x60c], eax
mov eax, dword [ebp - 0x60c]
mov dword [ebp - 0x610], eax
mov byte [ebp - 4], 0x3b
push ecx
mov ecx, esp
mov dword [ebp - 0x428], esp
lea edx, [ebp - 0x2e8]
push edx
call fcn.004068e0
mov dword [ebp - 0x614], eax
mov eax, dword [ebp - 0x614]
mov dword [ebp - 0x618], eax
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x298]
push ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x42c], esp
lea edx, [ebp - 0x2ec]
push edx
call fcn.004068e0
mov dword [ebp - 0x61c], eax
mov eax, dword [ebp - 0x61c]
mov dword [ebp - 0x620], eax
mov byte [ebp - 4], 0x3d
push ecx
mov ecx, esp
mov dword [ebp - 0x430], esp
lea edx, [ebp - 0x2f0]
push edx
call fcn.004068e0
mov dword [ebp - 0x624], eax
lea eax, [ebp - 0x248]
push eax
mov byte [ebp - 4], 0x35
call fcn.0044db70
add esp, 0x50
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x628]
mov dword [ebp - 0x1c], ecx
lea ecx, [ebp - 0x260]
call fcn.004070f0
movzx edx, al
test edx, edx
jne 0x4427a9
lea eax, [ebp - 0x2f4]
push eax
mov ecx, dword [ebp - 0x44c]
call fcn.00444090
mov ecx, dword [ebp - 0x254]
add ecx, 1
mov dword [ebp - 0x254], ecx
lea edx, [ebp - 0x2f4]
push edx
lea ecx, [ebp - 0x1fc]
call fcn.004f7ca0
mov ecx, eax
call fcn.00442d30
cmp dword [ebp - 0x1c], 0
jne 0x4428ed
lea ecx, [ebp - 0x244]
call fcn.00445870
movzx eax, al
test eax, eax
je 0x442811
lea ecx, [ebp - 0x22c]
call fcn.00445870
movzx ecx, al
test ecx, ecx
je 0x442811
lea ecx, [ebp - 0x214]
call fcn.00445870
movzx edx, al
test edx, edx
jne 0x442849
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b6f0
lea eax, [ebp - 0x248]
push eax
mov ecx, dword [ebp - 0x44c]
add ecx, 0x80
call fcn.00445ae0
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b700
mov ecx, dword [ebp - 0x1fc]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x434]
push eax
mov ecx, dword [ebp - 0x438]
push ecx
lea edx, [ebp - 0x440]
push edx
mov ecx, dword [ebp - 0x44c]
add ecx, 0x354
call fcn.00445d20
push ecx
mov ecx, esp
mov dword [ebp - 0x444], esp
lea eax, [ebp - 0x2f4]
push eax
call fcn.004068e0
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x62c]
mov dword [ebp - 0x630], ecx
mov byte [ebp - 4], 0x3e
push ecx
mov ecx, esp
mov dword [ebp - 0x448], esp
lea edx, [ebp - 0x2f4]
push edx
call fcn.004068e0
mov dword [ebp - 0x634], eax
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x44c]
call fcn.00444450
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2f4]
call fcn.004367a0
jmp 0x442901
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2f4]
call fcn.004367a0
jmp 0x4424dd
jmp 0x4424aa
lea ecx, [ebp - 0x8c]
call fcn.00436450
mov byte [ebp - 4], 0x3f
push 0x598054
lea ecx, [ebp - 0x20]
call fcn.00406900
mov byte [ebp - 4], 0x40
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x88]
call fcn.00410590
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b6f0
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, dword [ebp - 0x44c]
add ecx, 0x80
call fcn.00445ae0
mov eax, dword [ebp - 0x44c]
add eax, 0x98
call fcn.0050b700
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x20]
call fcn.004072c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x8c]
call fcn.00436770
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x38]
call fcn.004072c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.004072c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.004072c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret