Function at 0x479319
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e4e02
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0x538
push ebx
push esi
push edi
mov eax, dword [0x524330]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x40c], ecx
and dword [ebp - 4], 0
push ecx
mov ecx, esp
mov dword [ebp - 0x7c], esp
push 0
call fcn.00403241
mov dword [ebp - 0x410], eax
mov byte [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x80], esp
push 0
call fcn.00403241
mov dword [ebp - 0x414], eax
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x84], esp
push 0x4ffc20
call fcn.00403241
mov dword [ebp - 0x418], eax
mov byte [ebp - 4], 3
push ecx
mov eax, esp
mov dword [ebp - 0x88], esp
push str._exe_done
lea ecx, [ebp + 0xc]
push ecx
push eax
call fcn.004038b5
add esp, 0xc
mov byte [ebp - 4], 0
call fcn.00459e6b
add esp, 0x10
call fcn.00498191
push eax
lea ecx, [ebp - 0x24]
call fcn.00403ced
mov byte [ebp - 4], 4
call fcn.00498191
push eax
lea ecx, [ebp - 0x14]
call fcn.00403ced
mov byte [ebp - 4], 5
call fcn.00498191
push eax
lea ecx, [ebp - 0x18]
call fcn.00403ced
mov byte [ebp - 4], 6
call fcn.00498191
push eax
lea ecx, [ebp - 0x20]
call fcn.00403ced
mov byte [ebp - 4], 7
mov byte [ebp - 0x19], 0
mov byte [ebp - 4], 8
and dword [ebp - 0x28], 0
jmp 0x479421
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xa
jge 0x47a1ed
push 0x4ff0b7
mov ecx, dword [ebp - 0x28]
shl ecx, 4
add ecx, dword [ebp + 8]
call fcn.00403419
mov dword [ebp - 0x41c], eax
xor eax, eax
cmp dword [ebp - 0x41c], 0
sete al
movzx eax, al
test eax, eax
je 0x47945c
jmp 0x47a1ed
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x24]
call fcn.00403d36
mov eax, dword [ebp - 0x28]
shl eax, 4
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax + 4]
push eax
lea ecx, [ebp - 0x14]
call fcn.00403d36
mov eax, dword [ebp - 0x28]
shl eax, 4
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax + 8]
push eax
lea ecx, [ebp - 0x18]
call fcn.00403d36
mov eax, dword [ebp - 0x28]
shl eax, 4
mov ecx, dword [ebp + 8]
lea eax, [ecx + eax + 0xc]
push eax
lea ecx, [ebp - 0x20]
call fcn.00403d36
push 0x4ff0c1
lea ecx, [ebp - 0x14]
call fcn.00403419
mov dword [ebp - 0x420], eax
xor eax, eax
cmp dword [ebp - 0x420], 0
setne al
movzx eax, al
test eax, eax
je 0x47a1de
lea ecx, [ebp - 0x20]
call fcn.00403617
lea ecx, [ebp - 0x18]
call fcn.00403617
lea ecx, [ebp - 0x40]
call fcn.004692b0
mov dword [ebp - 0x424], eax
mov byte [ebp - 4], 9
push 0x4ffc38
lea ecx, [ebp - 0x24]
call fcn.00403419
mov dword [ebp - 0x428], eax
xor eax, eax
cmp dword [ebp - 0x428], 0
sete al
movzx eax, al
test eax, eax
je 0x47958c
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x144], eax
push 0
push 0
push dword [ebp - 0x144]
push 0x80000002
call fcn.0046c95d
add esp, 0x10
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 1
je 0x479583
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x148], eax
push 0x100
push 0
push dword [ebp - 0x148]
push 0x80000002
call fcn.0046c95d
add esp, 0x10
mov dword [ebp - 0x430], eax
cmp dword [ebp - 0x430], 1
jne 0x479587
mov byte [ebp - 0x19], 1
jmp 0x47a1d2
push 0x4ffc44
lea ecx, [ebp - 0x24]
call fcn.00403419
mov dword [ebp - 0x434], eax
xor eax, eax
cmp dword [ebp - 0x434], 0
sete al
movzx eax, al
test eax, eax
je 0x47961c
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14c], eax
push 0
push 0
push dword [ebp - 0x14c]
push 0x80000002
call fcn.0046c95d
add esp, 0x10
mov dword [ebp - 0x438], eax
cmp dword [ebp - 0x438], 1
je 0x479613
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x150], eax
push 0x100
push 0
push dword [ebp - 0x150]
push 0x80000002
call fcn.0046c95d
add esp, 0x10
mov dword [ebp - 0x43c], eax
cmp dword [ebp - 0x43c], 1
jne 0x479617
mov byte [ebp - 0x19], 1
jmp 0x47a1d2
push 0x4ffc5c
lea ecx, [ebp - 0x24]
call fcn.00403419
mov dword [ebp - 0x440], eax
xor eax, eax
cmp dword [ebp - 0x440], 0
sete al
movzx eax, al
test eax, eax
je 0x4796ac
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x154], eax
push 0
push 0
push dword [ebp - 0x154]
push 0x80000001
call fcn.0046c95d
add esp, 0x10
mov dword [ebp - 0x444], eax
cmp dword [ebp - 0x444], 1
je 0x4796a3
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x158], eax
push 0x100
push 0
push dword [ebp - 0x158]
push 0x80000001
call fcn.0046c95d
add esp, 0x10
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 1
jne 0x4796a7
mov byte [ebp - 0x19], 1
jmp 0x47a1d2
push 0x4ffc74
lea ecx, [ebp - 0x24]
call fcn.00403419
mov dword [ebp - 0x44c], eax
xor eax, eax
cmp dword [ebp - 0x44c], 0
sete al
movzx eax, al
test eax, eax
je 0x47973c
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x15c], eax
push 0
push 0
push dword [ebp - 0x15c]
push 0x80000000
call fcn.0046c95d
add esp, 0x10
mov dword [ebp - 0x450], eax
cmp dword [ebp - 0x450], 1
je 0x479733
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x160], eax
push 0x100
push 0
push dword [ebp - 0x160]
push 0x80000000
call fcn.0046c95d
add esp, 0x10
mov dword [ebp - 0x454], eax
cmp dword [ebp - 0x454], 1
jne 0x479737
mov byte [ebp - 0x19], 1
jmp 0x47a1d2
push 0x4ffc8c
lea ecx, [ebp - 0x24]
call fcn.0040abe6
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0
jne 0x479889
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x16c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x170], eax
push 0
push dword [ebp - 0x16c]
push dword [ebp - 0x170]
push 0x80000002
lea eax, [ebp - 0x44]
push eax
call fcn.0046cd23
add esp, 0x14
mov dword [ebp - 0x45c], eax
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x44]
call fcn.00403617
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x17c], eax
push 0
push dword [ebp - 0x17c]
lea ecx, [ebp - 0x44]
call fcn.0040355e
cmp eax, 0xffffffff
jle 0x4797c6
mov byte [ebp - 0x19], 1
jmp 0x479869
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x190], eax
push 0x100
push dword [ebp - 0x18c]
push dword [ebp - 0x190]
push 0x80000002
lea eax, [ebp - 0x8c]
push eax
call fcn.0046cd23
add esp, 0x14
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0x194], eax
mov byte [ebp - 4], 0xb
push dword [ebp - 0x194]
lea ecx, [ebp - 0x44]
call fcn.00403d36
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x8c]
sub eax, 0x10
mov dword [ebp - 0x198], eax
mov ecx, dword [ebp - 0x198]
call fcn.0040110c
lea ecx, [ebp - 0x44]
call fcn.00403617
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1a4], eax
push 0
push dword [ebp - 0x1a4]
lea ecx, [ebp - 0x44]
call fcn.0040355e
cmp eax, 0xffffffff
jle 0x479869
mov byte [ebp - 0x19], 1
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x44]
sub eax, 0x10
mov dword [ebp - 0x1b4], eax
mov ecx, dword [ebp - 0x1b4]
call fcn.0040110c
jmp 0x47a1d2
push 0x4ffca8
lea ecx, [ebp - 0x24]
call fcn.0040abe6
mov dword [ebp - 0x464], eax
cmp dword [ebp - 0x464], 0
jne 0x4799d6
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c4], eax
push 0
push dword [ebp - 0x1c0]
push dword [ebp - 0x1c4]
push 0x80000001
lea eax, [ebp - 0x48]
push eax
call fcn.0046cd23
add esp, 0x14
mov dword [ebp - 0x468], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x48]
call fcn.00403617
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1d0], eax
push 0
push dword [ebp - 0x1d0]
lea ecx, [ebp - 0x48]
call fcn.0040355e
cmp eax, 0xffffffff
jle 0x479913
mov byte [ebp - 0x19], 1
jmp 0x4799b6
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1e0], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1e4], eax
push 0x100
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
push 0x80000001
lea eax, [ebp - 0x90]
push eax
call fcn.0046cd23
add esp, 0x14
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0x1e8], eax
mov byte [ebp - 4], 0xd
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0x48]
call fcn.00403d36
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x90]
sub eax, 0x10
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
call fcn.0040110c
lea ecx, [ebp - 0x48]
call fcn.00403617
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1f8], eax
push 0
push dword [ebp - 0x1f8]
lea ecx, [ebp - 0x48]
call fcn.0040355e
cmp eax, 0xffffffff
jle 0x4799b6
mov byte [ebp - 0x19], 1
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x48]
sub eax, 0x10
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x208]
call fcn.0040110c
jmp 0x47a1d2
push 0x4ffcc4
lea ecx, [ebp - 0x24]
call fcn.0040abe6
mov dword [ebp - 0x470], eax
cmp dword [ebp - 0x470], 0
jne 0x479b23
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x218], eax
push 0
push dword [ebp - 0x214]
push dword [ebp - 0x218]
push 0x80000000
lea eax, [ebp - 0x4c]
push eax
call fcn.0046cd23
add esp, 0x14
mov dword [ebp - 0x474], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x4c]
call fcn.00403617
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x224], eax
push 0
push dword [ebp - 0x224]
lea ecx, [ebp - 0x4c]
call fcn.0040355e
cmp eax, 0xffffffff
jle 0x479a60
mov byte [ebp - 0x19], 1
jmp 0x479b03
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x238], eax
push 0x100
push dword [ebp - 0x234]
push dword [ebp - 0x238]
push 0x80000000
lea eax, [ebp - 0x94]
push eax
call fcn.0046cd23
add esp, 0x14
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0x478]
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 0xf
push dword [ebp - 0x23c]
lea ecx, [ebp - 0x4c]
call fcn.00403d36
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x94]
sub eax, 0x10
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp - 0x240]
call fcn.0040110c
lea ecx, [ebp - 0x4c]
call fcn.00403617
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24c], eax
push 0
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x4c]
call fcn.0040355e
cmp eax, 0xffffffff
jle 0x479b03
mov byte [ebp - 0x19], 1
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x4c]
sub eax, 0x10
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x25c]
call fcn.0040110c
jmp 0x47a1d2
push 0x4ffce0
lea ecx, [ebp - 0x24]
call fcn.00403419
mov dword [ebp - 0x47c], eax
xor eax, eax
cmp dword [ebp - 0x47c], 0
sete al
movzx eax, al
test eax, eax
je 0x479bb3
push ecx
mov eax, esp
mov dword [ebp - 0x98], esp
mov dword [ebp - 0x268], eax
mov eax, dword [ebp - 0x14]
sub eax, 0x10
mov dword [ebp - 0x260], eax
push dword [ebp - 0x260]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x480], eax
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x264]
add eax, 0x10
mov ecx, dword [ebp - 0x268]
mov dword [ecx], eax
call fcn.0046b9b1
pop ecx
mov byte [ebp - 0x481], al
movzx eax, byte [ebp - 0x481]
test eax, eax
je 0x479bae
mov byte [ebp - 0x19], 1
jmp 0x47a1d2
push 0x4ffcec
lea ecx, [ebp - 0x24]
call fcn.00403419
mov dword [ebp - 0x488], eax
xor eax, eax
cmp dword [ebp - 0x488], 0
sete al
movzx eax, al
test eax, eax
je 0x479c43
push ecx
mov eax, esp
mov dword [ebp - 0x9c], esp
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x14]
sub eax, 0x10
mov dword [ebp - 0x26c], eax
push dword [ebp - 0x26c]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x48c], eax
mov eax, dword [ebp - 0x48c]
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x270]
add eax, 0x10
mov ecx, dword [ebp - 0x274]
mov dword [ecx], eax
call fcn.0046bd1d
pop ecx
mov byte [ebp - 0x48d], al
movzx eax, byte [ebp - 0x48d]
test eax, eax
je 0x479c3e
mov byte [ebp - 0x19], 1
jmp 0x47a1d2
push 0x4ffcf4
lea ecx, [ebp - 0x24]
call fcn.00403419
mov dword [ebp - 0x494], eax
xor eax, eax
cmp dword [ebp - 0x494], 0
sete al
movzx eax, al
test eax, eax
je 0x47a1d2
mov byte [ebp - 0x55], 0
lea ecx, [ebp - 0x14]
call fcn.00403617
mov dword [ebp - 0x498], eax
mov eax, dword [ebp - 0x498]
mov dword [ebp - 0x288], eax
mov eax, dword [ebp - 0x288]
mov eax, dword [eax]
sub eax, 0x10
mov dword [ebp - 0x280], eax
push dword [ebp - 0x280]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x49c], eax
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x284], eax
mov eax, dword [ebp - 0x284]
add eax, 0x10
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0x10
push 0
push 0x4ffd00
push 0x4ffd0c
push 0x80000001
lea eax, [ebp - 0x54]
push eax
call fcn.0046cd23
add esp, 0x14
mov dword [ebp - 0x4a0], eax
mov byte [ebp - 4], 0x11
push 0x100
push 0x4ffd3c
push 0x4ffd48
push 0x80000001
lea eax, [ebp - 0xa0]
push eax
call fcn.0046cd23
add esp, 0x14
mov dword [ebp - 0x4a4], eax
mov eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x4a8], eax
mov byte [ebp - 4], 0x12
push 0x4ffd38
push dword [ebp - 0x4a8]
lea eax, [ebp - 0xa4]
push eax
call fcn.004038b5
add esp, 0xc
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x294], eax
mov byte [ebp - 4], 0x13
mov eax, dword [ebp - 0x294]
mov eax, dword [eax]
mov eax, dword [eax - 0xc]
mov dword [ebp - 0x28c], eax
mov eax, dword [ebp - 0x294]
mov eax, dword [eax]
mov dword [ebp - 0x290], eax
push dword [ebp - 0x28c]
push dword [ebp - 0x290]
lea ecx, [ebp - 0x54]
call fcn.00403e1c
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0xa4]
sub eax, 0x10
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x298]
call fcn.0040110c
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0xa0]
sub eax, 0x10
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x29c]
call fcn.0040110c
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2a0], eax
lea ecx, [ebp - 0x54]
call fcn.00403617
mov dword [ebp - 0x4b0], eax
push 0
push dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x4b0]
call fcn.0040355e
xor ecx, ecx
cmp eax, 0xffffffff
setg cl
mov byte [ebp - 0x55], cl
push 0x4ffd74
lea ecx, [ebp - 0x60]
call fcn.00403241
mov dword [ebp - 0x4b4], eax
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0x60]
push eax
call fcn.00460d83
pop ecx
mov eax, 0x4ffd80
test eax, eax
jne 0x479e31
and dword [ebp - 0x2c4], 0
jmp 0x479e83
mov dword [ebp - 0x4b8], 0x4ffd80
mov eax, dword [ebp - 0x4b8]
inc eax
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0x4b8]
mov al, byte [eax]
mov byte [ebp - 0x4bd], al
inc dword [ebp - 0x4b8]
cmp byte [ebp - 0x4bd], 0
jne 0x479e48
mov eax, dword [ebp - 0x4b8]
sub eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x4c4], eax
mov eax, dword [ebp - 0x4c4]
mov dword [ebp - 0x2c4], eax
push dword [ebp - 0x2c4]
push 0x4ffd80
lea ecx, [ebp - 0x60]
call fcn.00403e1c
push ecx
mov eax, esp
mov dword [ebp - 0xa8], esp
mov dword [ebp - 0x2d0], eax
mov eax, dword [ebp - 0x60]
sub eax, 0x10
mov dword [ebp - 0x2c8], eax
push dword [ebp - 0x2c8]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x4c8], eax
mov eax, dword [ebp - 0x4c8]
mov dword [ebp - 0x2cc], eax
mov eax, dword [ebp - 0x2cc]
add eax, 0x10
mov ecx, dword [ebp - 0x2d0]
mov dword [ecx], eax
call fcn.0046bd1d
pop ecx
mov byte [ebp - 0x4c9], al
movzx eax, byte [ebp - 0x4c9]
test eax, eax
je 0x479faf
push ecx
mov eax, esp
mov dword [ebp - 0xac], esp
mov dword [ebp - 0x2dc], eax
mov eax, dword [ebp - 0x60]
sub eax, 0x10
mov dword [ebp - 0x2d4], eax
push dword [ebp - 0x2d4]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x4d0], eax
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0x2d8], eax
mov eax, dword [ebp - 0x2d8]
add eax, 0x10
mov ecx, dword [ebp - 0x2dc]
mov dword [ecx], eax
lea eax, [ebp - 0x64]
push eax
call fcn.0045ad00
pop ecx
pop ecx
mov dword [ebp - 0x4d4], eax
movzx eax, byte [ebp - 0x55]
test eax, eax
jne 0x479f85
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x2e0], eax
push 0
push dword [ebp - 0x2e0]
lea ecx, [ebp - 0x64]
call fcn.0040355e
cmp eax, 0xffffffff
jg 0x479f85
and dword [ebp - 0x4d8], 0
jmp 0x479f8f
mov dword [ebp - 0x4d8], 1
mov al, byte [ebp - 0x4d8]
mov byte [ebp - 0x55], al
mov eax, dword [ebp - 0x64]
sub eax, 0x10
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x2f0]
call fcn.0040110c
push 0x4ffd8c
lea ecx, [ebp - 0x5c]
call fcn.00403241
mov dword [ebp - 0x4dc], eax
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x5c]
push eax
call fcn.00460d83
pop ecx
mov eax, 0x4ffd9c
test eax, eax
jne 0x479fe2
and dword [ebp - 0x2fc], 0
jmp 0x47a034
mov dword [ebp - 0x4e0], 0x4ffd9c
mov eax, dword [ebp - 0x4e0]
inc eax
mov dword [ebp - 0x4e4], eax
mov eax, dword [ebp - 0x4e0]
mov al, byte [eax]
mov byte [ebp - 0x4e5], al
inc dword [ebp - 0x4e0]
cmp byte [ebp - 0x4e5], 0
jne 0x479ff9
mov eax, dword [ebp - 0x4e0]
sub eax, dword [ebp - 0x4e4]
mov dword [ebp - 0x4ec], eax
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x2fc], eax
push dword [ebp - 0x2fc]
push 0x4ffd9c
lea ecx, [ebp - 0x5c]
call fcn.00403e1c
push ecx
mov eax, esp
mov dword [ebp - 0xb0], esp
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x5c]
sub eax, 0x10
mov dword [ebp - 0x300], eax
push dword [ebp - 0x300]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x4f0], eax
mov eax, dword [ebp - 0x4f0]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x304]
add eax, 0x10
mov ecx, dword [ebp - 0x308]
mov dword [ecx], eax
call fcn.0046bd1d
pop ecx
mov byte [ebp - 0x4f1], al
movzx eax, byte [ebp - 0x4f1]
test eax, eax
je 0x47a160
push ecx
mov eax, esp
mov dword [ebp - 0xb4], esp
mov dword [ebp - 0x314], eax
mov eax, dword [ebp - 0x5c]
sub eax, 0x10
mov dword [ebp - 0x30c], eax
push dword [ebp - 0x30c]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x4f8], eax
mov eax, dword [ebp - 0x4f8]
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x310]
add eax, 0x10
mov ecx, dword [ebp - 0x314]
mov dword [ecx], eax
lea eax, [ebp - 0x68]
push eax
call fcn.0045ad00
pop ecx
pop ecx
mov dword [ebp - 0x4fc], eax
movzx eax, byte [ebp - 0x55]
test eax, eax
jne 0x47a136
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x318], eax
push 0
push dword [ebp - 0x318]
lea ecx, [ebp - 0x68]
call fcn.0040355e
cmp eax, 0xffffffff
jg 0x47a136
and dword [ebp - 0x500], 0
jmp 0x47a140
mov dword [ebp - 0x500], 1
mov al, byte [ebp - 0x500]
mov byte [ebp - 0x55], al
mov eax, dword [ebp - 0x68]
sub eax, 0x10
mov dword [ebp - 0x328], eax
mov ecx, dword [ebp - 0x328]
call fcn.0040110c
mov al, byte [ebp - 0x55]
mov byte [ebp - 0x19], al
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x5c]
sub eax, 0x10
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x32c]
call fcn.0040110c
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x60]
sub eax, 0x10
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x330]
call fcn.0040110c
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x54]
sub eax, 0x10
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x334]
call fcn.0040110c
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x50]
sub eax, 0x10
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x338]
call fcn.0040110c
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x40]
call fcn.004692d4
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x47a1e8
jmp 0x47a1ed
jmp 0x47941a
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x47a531
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x33c], eax
push dword [ebp - 0x33c]
mov ecx, 0x5258b8
call fcn.0040abe6
mov dword [ebp - 0x504], eax
cmp dword [ebp - 0x504], 0
je 0x47a239
movzx eax, byte [0x525bc0]
test eax, eax
jne 0x47a239
mov eax, dword [ebp - 0x40c]
mov byte [eax + 0x152], 1
push ecx
mov ecx, esp
mov dword [ebp - 0xb8], esp
push 0
call fcn.00403241
mov dword [ebp - 0x508], eax
mov byte [ebp - 4], 0x16
push ecx
mov ecx, esp
mov dword [ebp - 0xbc], esp
push 0
call fcn.00403241
mov dword [ebp - 0x50c], eax
mov byte [ebp - 4], 0x17
push ecx
mov eax, esp
mov dword [ebp - 0xc0], esp
push 0x4ffdcc
lea ecx, [ebp + 0xc]
push ecx
push eax
call fcn.004038b5
add esp, 0xc
mov dword [ebp - 0x510], eax
mov byte [ebp - 4], 0x18
push ecx
mov eax, esp
mov dword [ebp - 0xc4], esp
push 0x4ffdd4
lea ecx, [ebp + 0xc]
push ecx
push eax
call fcn.004038b5
add esp, 0xc
mov byte [ebp - 4], 8
call fcn.00459e6b
add esp, 0x10
call fcn.00498191
mov dword [ebp - 0x514], eax
push dword [ebp - 0x514]
lea ecx, [ebp - 0x6c]
call fcn.00403ced
mov byte [ebp - 4], 0x19
push dword [0x5258b4]
push dword [ebp + 0xc]
push 0x4ffde0
lea eax, [ebp - 0x6c]
push eax
call fcn.0040b04f
add esp, 0x10
push 0x4ffdfc
push 0x4ffe00
lea ecx, [ebp - 0x6c]
call fcn.00448fb1
push ecx
mov eax, esp
mov dword [ebp - 0xc8], esp
mov dword [ebp - 0x360], eax
mov eax, dword [ebp - 0x6c]
sub eax, 0x10
mov dword [ebp - 0x358], eax
push dword [ebp - 0x358]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x518]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x35c]
add eax, 0x10
mov ecx, dword [ebp - 0x360]
mov dword [ecx], eax
mov byte [ebp - 4], 0x1a
push ecx
mov eax, esp
mov dword [ebp - 0xcc], esp
mov dword [ebp - 0x36c], eax
mov eax, dword [ebp + 0xc]
sub eax, 0x10
mov dword [ebp - 0x364], eax
push dword [ebp - 0x364]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x51c], eax
mov eax, dword [ebp - 0x51c]
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x368]
add eax, 0x10
mov ecx, dword [ebp - 0x36c]
mov dword [ecx], eax
mov byte [ebp - 4], 0x1b
push ecx
mov ecx, esp
mov dword [ebp - 0xd0], esp
push 0x4ffe08
call fcn.00403241
mov byte [ebp - 4], 0x19
mov ecx, dword [0x525860]
call fcn.00468432
call fcn.00498191
mov dword [ebp - 0x520], eax
push dword [ebp - 0x520]
lea ecx, [ebp - 0x70]
call fcn.00403ced
mov byte [ebp - 4], 0x1c
push dword [0x525920]
push dword [ebp + 0xc]
push 0x4ffe18
lea eax, [ebp - 0x70]
push eax
call fcn.0040b04f
add esp, 0x10
push 0x4ffe34
push 0x4ffe38
lea ecx, [ebp - 0x70]
call fcn.00448fb1
push ecx
mov eax, esp
mov dword [ebp - 0xd4], esp
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x70]
sub eax, 0x10
mov dword [ebp - 0x378], eax
push dword [ebp - 0x378]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x524], eax
mov eax, dword [ebp - 0x524]
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x37c]
add eax, 0x10
mov ecx, dword [ebp - 0x380]
mov dword [ecx], eax
mov byte [ebp - 4], 0x1d
push ecx
mov eax, esp
mov dword [ebp - 0xd8], esp
mov dword [ebp - 0x38c], eax
mov eax, dword [ebp + 0xc]
sub eax, 0x10
mov dword [ebp - 0x384], eax
push dword [ebp - 0x384]
call fcn.004042f4
pop ecx
mov dword [ebp - 0x528], eax
mov eax, dword [ebp - 0x528]
mov dword [ebp - 0x388], eax
mov eax, dword [ebp - 0x388]
add eax, 0x10
mov ecx, dword [ebp - 0x38c]
mov dword [ecx], eax
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, esp
mov dword [ebp - 0xdc], esp
push str.installed_sp
call fcn.00403241
mov byte [ebp - 4], 0x1c
mov ecx, dword [0x525860]
call fcn.00468432
push 0
push 0x4ffe50
lea ecx, [ebp + 0xc]
call fcn.0040355e
cmp eax, 0xffffffff
jg 0x47a4ef
push 0
push 0x4ffe5c
lea ecx, [ebp + 0xc]
call fcn.0040355e
cmp eax, 0xffffffff
jle 0x47a4f6
mov byte [0x5260a5], 1
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x70]
sub eax, 0x10
mov dword [ebp - 0x3b0], eax
mov ecx, dword [ebp - 0x3b0]
call fcn.0040110c
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x6c]
sub eax, 0x10
mov dword [ebp - 0x3b4], eax
mov ecx, dword [ebp - 0x3b4]
call fcn.0040110c
jmp 0x47a745
push ecx
mov ecx, esp
mov dword [ebp - 0xe0], esp
push 0
call fcn.00403241
mov dword [ebp - 0x52c], eax
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, esp
mov dword [ebp - 0xe4], esp
push 0
call fcn.00403241
mov dword [ebp - 0x530], eax
mov byte [ebp - 4], 0x20
push ecx
mov eax, esp
mov dword [ebp - 0xe8], esp
push 0x4ffe68
lea ecx, [ebp + 0xc]
push ecx
push eax
call fcn.004038b5
add esp, 0xc
mov dword [ebp - 0x534], eax
mov byte [ebp - 4], 0x21
push ecx
mov eax, esp
mov dword [ebp - 0xec], esp
push 0x4ffe70
lea ecx, [ebp + 0xc]
push ecx
push eax
call fcn.004038b5
add esp, 0xc
mov byte [ebp - 4], 8
call fcn.00459e6b
add esp, 0x10
call fcn.00498191
mov dword [ebp - 0x538], eax
push dword [ebp - 0x538]
lea ecx, [ebp - 0x74]
call fcn.00403ced
mov byte [ebp - 4], 0x22
push dword [0x5258b4]
push dword [ebp + 0xc]
push 0x4ffe80
lea eax, [ebp - 0x74]
push eax
call fcn.0040b04f
add esp, 0x10
push 0x4ffe9c
push 0x4ffea0
lea ecx, [ebp - 0x74]
call fcn.00448fb1
push ecx
mov eax, esp
mov dword [ebp - 0xf0], esp
mov dword [ebp - 0x3c8], eax
lea eax, [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x3c8]
call fcn.00448edc
mov byte [ebp - 4], 0x23
push ecx
mov eax, esp
mov dword [ebp - 0xf4], esp
mov dword [ebp - 0x3cc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x3cc]
call fcn.00448edc
mov byte [ebp - 4], 0x24
push ecx
mov ecx, esp
mov dword [ebp - 0xf8], esp
push 0x4ffea8
call fcn.00403241
mov byte [ebp - 4], 0x22
mov ecx, dword [0x525860]
call fcn.00468432
call fcn.00498191
mov dword [ebp - 0x53c], eax
push dword [ebp - 0x53c]
lea ecx, [ebp - 0x78]
call fcn.00403ced
mov byte [ebp - 4], 0x25
push dword [0x525920]
push dword [ebp + 0xc]
push 0x4ffeb8
lea eax, [ebp - 0x78]
push eax
call fcn.0040b04f
add esp, 0x10
push 0x4ffed4
push 0x4ffed8
lea ecx, [ebp - 0x78]
call fcn.00448fb1
push ecx
mov eax, esp
mov dword [ebp - 0xfc], esp
mov dword [ebp - 0x3d8], eax
lea eax, [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x3d8]
call fcn.00448edc
mov byte [ebp - 4], 0x26
push ecx
mov eax, esp
mov dword [ebp - 0x100], esp
mov dword [ebp - 0x3dc], eax
lea eax, [ebp + 0xc]
push eax
mov ecx, dword [ebp - 0x3dc]
call fcn.00448edc
mov byte [ebp - 4], 0x27
push ecx
mov ecx, esp
mov dword [ebp - 0x104], esp
push 0x4ffee0
call fcn.00403241
mov byte [ebp - 4], 0x25
mov ecx, dword [0x525860]
call fcn.00468432
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x78]
sub eax, 0x10
mov dword [ebp - 0x3e8], eax
mov ecx, dword [ebp - 0x3e8]
call fcn.0040110c
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x74]
sub eax, 0x10
mov dword [ebp - 0x3ec], eax
mov ecx, dword [ebp - 0x3ec]
call fcn.0040110c
jmp 0x47a7cf
mov dword [ebp - 4], 7
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x115], al
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x20]
sub eax, 0x10
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x3f8]
call fcn.0040110c
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x18]
sub eax, 0x10
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x3fc]
call fcn.0040110c
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x14]
sub eax, 0x10
mov dword [ebp - 0x400], eax
mov ecx, dword [ebp - 0x400]
call fcn.0040110c
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x24]
sub eax, 0x10
mov dword [ebp - 0x404], eax
mov ecx, dword [ebp - 0x404]
call fcn.0040110c
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
sub eax, 0x10
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x408]
call fcn.0040110c
mov al, byte [ebp - 0x115]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
leave
ret 8