Function at 0x53208c
Capabilities:
Move file
Persist via lnk shortcut

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x13e
push 0
push 0
dec ecx
jne 0x532094
push ebx
push esi
push edi
mov ebx, edx
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5358b9
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004eebd8
call fcn.00535fd8
mov byte [0x542cf4], bl
mov eax, dword [ebp - 4]
cmp word [eax + 0x7a], 0
je 0x5320d7
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov eax, dword [esi + 0x7c]
call dword [esi + 0x78]
xor eax, eax
mov al, bl
cmp eax, 6
ja case.0x5320e4.3
jmp dword [eax*4 + 0x5320eb]
mov al, byte [0x542ce8]
sub al, 1
jb 0x53211f
je 0x532182
dec al
je 0x5321e2
jmp 0x532240
push 0
lea eax, [ebp - 0x598]
push eax
xor eax, eax
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x547568]
call fcn.0040b4f8
mov edx, dword [ebp - 0x598]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
mov cl, 1
mov edx, dword [0x547580]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
mov cl, 2
mov edx, dword [0x547574]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x532240
push 0
lea eax, [ebp - 0x5a4]
push eax
xor eax, eax
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x54756c]
call fcn.0040b4f8
mov edx, dword [ebp - 0x5a4]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
mov cl, 1
mov edx, dword [0x547584]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
mov cl, 2
mov edx, dword [0x547578]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x532240
push 0
lea eax, [ebp - 0x5a8]
push eax
xor eax, eax
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x547570]
call fcn.0040b4f8
mov edx, dword [ebp - 0x5a8]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
mov cl, 1
mov edx, dword [0x547588]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
mov cl, 2
mov edx, dword [0x54757c]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00531920
cmp byte [0x542ca8], 0
jne 0x5322a3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
add eax, 0x34
mov edx, dword [0x542cac]
call fcn.00404ce4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
mov edx, dword [0x542cb0]
mov dword [eax + 0x38], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
add eax, 0x3c
mov edx, dword [0x542cb4]
call fcn.00404ce4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x58]
add eax, 0x40
mov edx, dword [0x542cb8]
call fcn.00404ce4
jmp 0x532352
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + 0x13c]
add eax, 0x18
mov edx, dword [0x542cac]
call fcn.00404ce4
lea edx, [ebp - 0x5ac]
mov eax, dword [0x542cb0]
call fcn.00409cb8
mov edx, dword [ebp - 0x5ac]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + 0x13c]
add eax, 0x10
call fcn.00404ce4
cmp dword [0x542cbc], 0
je 0x532352
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + 0x144]
mov edx, dword [0x542cbc]
call fcn.00500d58
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + 0x144]
mov edx, dword [0x542cc0]
call fcn.00500d3c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + 0x144]
add eax, 8
mov edx, dword [0x542cc8]
call fcn.00404ce4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x60]
mov eax, dword [eax + 0x144]
add eax, 0x14
mov edx, dword [0x542cc4]
call fcn.00404ce4
xor eax, eax
push ebp
push 0x532a18
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x542cd4], 0
je 0x532372
cmp byte [0x542ce8], 1
je 0x532376
xor eax, eax
jmp 0x532378
mov al, 1
mov byte [ebp - 0x35], al
cmp byte [ebp - 0x35], 0
je 0x532437
cmp byte [0x542cfc], 0
je 0x5323b5
push 0
lea edx, [ebp - 0x5b0]
mov eax, 0x30a
call fcn.004866a0
mov edx, dword [ebp - 0x5b0]
mov cl, 6
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x532437
push 0
lea eax, [ebp - 0x5b4]
push eax
push dword [0x542cac]
push 0x5358d4
lea edx, [ebp - 0x5bc]
mov eax, dword [0x542cb0]
call fcn.00409cb8
push dword [ebp - 0x5bc]
lea eax, [ebp - 0x5b8]
mov edx, 3
call fcn.00405010
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea eax, [ebp - 0x5a0]
push eax
lea edx, [ebp - 0x5c0]
mov eax, 0x49e
call fcn.004866a0
mov eax, dword [ebp - 0x5c0]
xor ecx, ecx
pop edx
call fcn.0040b4f8
mov edx, dword [ebp - 0x5b4]
mov cl, 6
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
xor eax, eax
push ebp
push 0x532a04
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
call fcn.00531e70
pop ecx
xor eax, eax
push ebp
push 0x5329db
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x5c4]
push eax
lea eax, [ebp - 0x5cc]
call fcn.0048413c
mov eax, dword [ebp - 0x5cc]
lea edx, [ebp - 0x5c8]
call fcn.0040a808
mov eax, dword [ebp - 0x5c8]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x5358e0
call fcn.0040b4f8
mov edx, dword [ebp - 0x5c4]
mov eax, 0x547560
call fcn.00404ce4
lea edx, [ebp - 0x5d0]
mov eax, dword [0x542cdc]
call fcn.0052d754
mov eax, dword [ebp - 0x5d0]
push eax
lea edx, [ebp - 0x5d4]
mov eax, dword [0x547560]
call fcn.00483810
mov edx, dword [ebp - 0x5d4]
mov eax, 0x547564
pop ecx
call fcn.00404f9c
lea edx, [ebp - 0x5d8]
mov eax, dword [0x547564]
call fcn.004096c8
mov edx, dword [ebp - 0x5d8]
mov eax, 0x5358fc
call fcn.00405294
mov ebx, eax
cmp ebx, 1
jle 0x53253f
lea eax, [ebp - 0x5dc]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [0x547564]
call fcn.004051b0
mov edx, dword [ebp - 0x5dc]
mov eax, 0x547564
mov ecx, 0x53590c
call fcn.00404f9c
push ebp
xor ecx, ecx
mov edx, dword [0x547564]
mov eax, dword [0x542cdc]
call fcn.00531ed8
pop ecx
test al, al
je 0x532937
push ebp
call fcn.00531eac
pop ecx
cmp dword [0x542cec], 0
je 0x532575
mov eax, 0x542cec
call fcn.00530d54
xor eax, eax
mov dword [0x542cec], eax
push 1
lea eax, [ebp - 0x5e0]
mov ecx, dword [0x547564]
mov edx, 0x53591c
call fcn.00404f9c
mov edx, dword [ebp - 0x5e0]
mov cl, 3
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov dl, 1
mov eax, dword [0x547564]
call fcn.005303fc
mov dword [0x542cec], eax
cmp dword [0x542cec], 0
je 0x5325cc
mov eax, dword [0x542cec]
cmp byte [eax + 0x387], 0
je 0x532637
mov byte [0x542cf8], 1
mov eax, dword [0x547560]
call fcn.00483fcc
cmp dword [0x542cec], 0
je 0x532620
push 0
lea eax, [ebp - 0x5e4]
mov edx, dword [0x542cec]
add edx, 0x387
call fcn.00404ef4
mov edx, dword [ebp - 0x5e4]
mov cl, 5
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, 0x542cec
call fcn.00530d54
xor eax, eax
mov dword [0x542cec], eax
call fcn.004046b8
call fcn.004046b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp case.0x5320e4.3
cmp dword [0x542ce0], 0
jne 0x532695
cmp byte [0x542ce8], 0
jne 0x532683
lea eax, [ebp - 0x5ec]
mov edx, dword [0x542cec]
add edx, 0x83
call fcn.00404ef4
mov eax, dword [ebp - 0x5ec]
lea edx, [ebp - 0x5e8]
call fcn.00484908
mov edx, dword [ebp - 0x5e8]
mov eax, 0x542ce0
call fcn.00404ce4
jmp 0x532695
mov eax, 0x542ce0
mov edx, dword [0x543998]
mov edx, dword [edx]
call fcn.00404ce4
cmp dword [0x542ce4], 0
jne 0x5326f3
cmp byte [0x542ce8], 0
jne 0x5326e1
lea eax, [ebp - 0x5f4]
mov edx, dword [0x542cec]
add edx, 0x183
call fcn.00404ef4
mov eax, dword [ebp - 0x5f4]
lea edx, [ebp - 0x5f0]
call fcn.00484908
mov edx, dword [ebp - 0x5f0]
mov eax, 0x542ce4
call fcn.00404ce4
jmp 0x5326f3
mov eax, 0x542ce4
mov edx, dword [0x542e10]
mov edx, dword [edx]
call fcn.00404ce4
lea edx, [ebp - 0x5f8]
mov eax, dword [0x542cdc]
call fcn.0052d754
mov eax, dword [ebp - 0x5f8]
push eax
lea edx, [ebp - 0x5fc]
mov eax, dword [0x542ce0]
call fcn.00483810
mov edx, dword [ebp - 0x5fc]
mov eax, 0x542cd8
pop ecx
call fcn.00404f9c
lea edx, [ebp - 0x600]
mov eax, dword [0x542cd8]
call fcn.004096c8
mov edx, dword [ebp - 0x600]
mov eax, 0x5358fc
call fcn.00405294
mov ebx, eax
cmp ebx, 1
jle 0x532780
lea eax, [ebp - 0x604]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [0x542cd8]
call fcn.004051b0
mov edx, dword [ebp - 0x604]
mov eax, 0x542cd8
mov ecx, 0x53590c
call fcn.00404f9c
cmp dword [0x542cf0], 0
je 0x532793
mov eax, 0x542cf0
call fcn.00530d54
xor eax, eax
mov dword [0x542cf0], eax
mov eax, dword [0x542cd8]
call fcn.0040a33c
test al, al
je 0x5327b9
mov dl, 1
mov eax, dword [0x542cd8]
call fcn.005303fc
mov dword [0x542cf0], eax
cmp byte [0x542ce8], 1
jne 0x532906
cmp dword [0x542cf0], 0
jne 0x5327f7
mov byte [0x542ce8], 0
mov eax, dword [0x5437a8]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x532906
mov eax, dword [0x5437a8]
mov eax, dword [eax]
mov byte [eax + 0x5b], 1
jmp 0x532906
mov eax, dword [0x542cf0]
mov edx, dword [eax + 0x487]
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x487]
call fcn.0052e5b4
test al, al
je 0x5328ee
mov eax, dword [0x542cf0]
mov edx, dword [eax + 0x48f]
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x48f]
call fcn.0052e808
test al, al
jne 0x532852
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00531920
mov dl, 4
mov eax, dword [ebp - 4]
call fcn.0053208c
jmp 0x532906
mov byte [0x542cf8], 3
mov eax, dword [0x547560]
call fcn.00483fcc
cmp byte [0x542cd4], 0
je 0x5328d7
cmp byte [ebp - 0x35], 0
je 0x532884
push 0
mov cl, 6
xor edx, edx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov byte [ebp - 0x35], 0
push 0
lea eax, [ebp - 0x608]
push eax
lea edx, [ebp - 0x60c]
mov eax, 0x1e7
call fcn.004866a0
mov eax, dword [ebp - 0x60c]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
pop eax
call fcn.0040b4f8
mov edx, dword [ebp - 0x608]
mov cl, 4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
call fcn.004046b8
call fcn.004046b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp case.0x5320e4.3
mov eax, dword [0x5437a8]
mov eax, dword [eax]
cmp dword [eax + 0x44], 0
je 0x532906
mov eax, dword [0x5437a8]
mov eax, dword [eax]
mov byte [eax + 0x5b], 1
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.00531920
cmp byte [0x542ce8], 2
jne 0x532928
mov dl, 2
mov eax, dword [ebp - 4]
call fcn.0053208c
jmp 0x5329c6
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.0053208c
jmp 0x5329c6
cmp byte [0x542cfc], 0
je 0x53297f
push 0
lea eax, [ebp - 0x610]
push eax
mov eax, 0x53593c
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x5475e8]
call fcn.0040b4f8
mov edx, dword [ebp - 0x610]
mov cl, 1
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x5329bc
push 0
lea eax, [ebp - 0x614]
push eax
mov eax, dword [0x542cdc]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x5475e8]
call fcn.0040b4f8
mov edx, dword [ebp - 0x614]
mov cl, 1
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00531920
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5329e2
push ebp
call fcn.00531eac
pop ecx
ret
push 0
lea eax, [ebp - 0x730]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x54758c]
call fcn.0040b4f8
mov edx, dword [ebp - 0x730]
mov cl, 8
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
lea eax, [ebp - 0x734]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x744], eax
mov byte [ebp - 0x740], 4
lea ecx, [ebp - 0x748]
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x7b]
mov edx, 3
call fcn.004eeac8
mov eax, dword [ebp - 0x748]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 0x738], 0xb
lea edx, [ebp - 0x744]
mov ecx, 1
mov eax, dword [0x547590]
call fcn.0040b4f8
mov edx, dword [ebp - 0x734]
mov cl, 9
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov al, byte [0x542ce8]
sub al, 1
jb 0x532c71
je 0x532cc8
jmp case.0x5320e4.3
push 0
lea eax, [ebp - 0x74c]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x547568]
call fcn.0040b4f8
mov edx, dword [ebp - 0x74c]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
mov cl, 2
mov edx, dword [0x547594]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp case.0x5320e4.3
push 0
lea eax, [ebp - 0x750]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x54756c]
call fcn.0040b4f8
mov edx, dword [ebp - 0x750]
xor ecx, ecx
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
mov cl, 2
mov edx, dword [0x547598]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp case.0x5320e4.3
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00531920
cmp byte [0x542ce8], 0
jne 0x532d46
push 0
mov cl, 2
mov edx, dword [0x54759c]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x532d75
cmp byte [0x542ce8], 1
jne 0x532d63
push 0
mov cl, 2
mov edx, dword [0x5475a0]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x532d75
push 0
mov cl, 2
mov edx, dword [0x5475a4]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x487]
call fcn.004061a4
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
mov edx, dword [0x542cec]
cmp eax, dword [edx + 0x7f]
jae 0x532e32
push 0
lea eax, [ebp - 0x754]
push eax
lea ecx, [ebp - 0x758]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
mov edx, 4
call fcn.004eeac8
mov eax, dword [ebp - 0x758]
mov dword [ebp - 0x744], eax
mov byte [ebp - 0x740], 0xb
lea ecx, [ebp - 0x75c]
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x7f]
mov edx, 4
call fcn.004eeac8
mov eax, dword [ebp - 0x75c]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 0x738], 0xb
lea eax, [ebp - 0x744]
push eax
lea edx, [ebp - 0x760]
mov eax, 0x544
call fcn.004866a0
mov eax, dword [ebp - 0x760]
mov ecx, 1
pop edx
call fcn.0040b4f8
mov edx, dword [ebp - 0x754]
mov cl, 2
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push ebp
call fcn.00531e70
pop ecx
xor eax, eax
push ebp
push 0x533279
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x14]
dec eax
test eax, eax
jl 0x533264
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
imul eax, dword [ebp - 0x10], 0x1af
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x487]
lea eax, [edx + eax*2]
mov dword [ebp - 0x24], eax
push 0
lea eax, [ebp - 0x764]
push eax
mov ebx, dword [ebp - 0x10]
inc ebx
mov dword [ebp - 0x768], ebx
fild dword [ebp - 0x768]
fild dword [ebp - 0x14]
fdivp st(1)
fmul dword [0x535970]
call fcn.00402e6c
mov dword [ebp - 0x770], eax
mov dword [ebp - 0x76c], edx
lea eax, [ebp - 0x770]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0x10
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x53597c
call fcn.0040b4f8
mov edx, dword [ebp - 0x764]
mov cl, 0xf
mov eax, dword [ebp - 4]
mov esi, dword [eax]
call dword [esi + 0x3c]
push 0
lea eax, [ebp - 0x774]
push eax
lea edx, [ebp - 0x778]
mov eax, 0x1e8
call fcn.004866a0
mov eax, dword [ebp - 0x778]
mov dword [ebp - 0x744], ebx
mov byte [ebp - 0x740], 0
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x73c], edx
mov byte [ebp - 0x738], 0
lea edx, [ebp - 0x744]
mov ecx, 1
call fcn.0040b4f8
mov edx, dword [ebp - 0x774]
mov cl, 0xc
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
cmp byte [0x542ce8], 1
jne 0x5330ae
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
mov edx, dword [0x542cec]
cmp eax, dword [edx + 0x7f]
jae 0x532f76
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x35a]
mov edx, 0x10
call fcn.004799f8
test al, al
je 0x53303f
cmp dword [0x542cf0], 0
je 0x5330cc
lea eax, [ebp - 0x77c]
mov edx, dword [ebp - 0x24]
add edx, 0x29
call fcn.00404ef4
mov eax, dword [ebp - 0x77c]
mov edx, dword [0x542cf0]
mov edx, dword [edx + 0x487]
call fcn.0052e368
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x5330cc
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x256]
mov edx, dword [ebp - 0x28]
cmp eax, dword [edx + 0x256]
ja 0x5330cc
push 1
lea eax, [ebp - 0x780]
push eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x798], eax
mov byte [ebp - 0x794], 4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x256]
mov dword [ebp - 0x790], eax
mov byte [ebp - 0x78c], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x35a]
mov dword [ebp - 0x788], eax
mov byte [ebp - 0x784], 0
lea edx, [ebp - 0x798]
mov ecx, 2
mov eax, 0x535988
call fcn.0040b4f8
mov edx, dword [ebp - 0x780]
mov cl, 0xf
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x533258
push 1
lea eax, [ebp - 0x79c]
push eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x798], eax
mov byte [ebp - 0x794], 4
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x256]
mov dword [ebp - 0x790], eax
mov byte [ebp - 0x78c], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x35a]
mov dword [ebp - 0x788], eax
mov byte [ebp - 0x784], 0
lea edx, [ebp - 0x798]
mov ecx, 2
mov eax, 0x5359bc
call fcn.0040b4f8
mov edx, dword [ebp - 0x79c]
mov cl, 0xf
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x533258
cmp byte [0x542ce8], 2
jne 0x5330cc
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x35a]
and eax, 1
cmp eax, 1
jne 0x533258
lea edx, [ebp - 0x7a0]
mov eax, dword [0x547560]
call fcn.00483810
lea eax, [ebp - 0x7a0]
push eax
lea eax, [ebp - 0x7a4]
mov edx, dword [ebp - 0x24]
add edx, 0x29
call fcn.00404ef4
mov edx, dword [ebp - 0x7a4]
pop eax
call fcn.00404f58
mov eax, dword [ebp - 0x7a0]
lea edx, [ebp - 0x18]
call fcn.0052d7c4
xor eax, eax
push ebp
push 0x5331cb
push dword fs:[eax]
mov dword fs:[eax], esp
push ebp
lea eax, [ebp - 0x7ac]
mov edx, dword [ebp - 0x24]
add edx, 0x29
call fcn.00404ef4
mov eax, dword [ebp - 0x7ac]
lea edx, [ebp - 0x7a8]
call fcn.00531fdc
mov eax, dword [ebp - 0x7a8]
mov edx, dword [ebp - 0x24]
mov edx, dword [edx + 0x35a]
and edx, 2
cmp edx, 2
sete cl
mov edx, dword [ebp - 0x18]
call fcn.00531ed8
pop ecx
test al, al
jne 0x5331be
push 0
lea eax, [ebp - 0x7b0]
push eax
mov eax, dword [ebp - 0x24]
add eax, 0x29
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x5475e8]
call fcn.0040b4f8
mov edx, dword [ebp - 0x7b0]
mov cl, 0xd
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00531920
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004046b8
jmp case.0x5320e4.3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x533258
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x532e5e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x533280
push ebp
call fcn.00531eac
pop ecx
ret
cmp byte [0x542ce8], 0
jne 0x5332f9
push 0
mov cl, 2
mov edx, dword [0x5475a8]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
lea eax, [ebp - 0x7bc]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x5475b4]
call fcn.0040b4f8
mov edx, dword [ebp - 0x7bc]
mov cl, 3
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp case.0x5320e4.3
cmp byte [0x542ce8], 1
jne 0x533359
push 0
mov cl, 2
mov edx, dword [0x5475ac]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
lea eax, [ebp - 0x7c0]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x5475b8]
call fcn.0040b4f8
mov edx, dword [ebp - 0x7c0]
mov cl, 3
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp case.0x5320e4.3
push 0
mov cl, 2
mov edx, dword [0x5475b0]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
lea eax, [ebp - 0x7c4]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x5475bc]
call fcn.0040b4f8
mov edx, dword [ebp - 0x7c4]
mov cl, 3
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp case.0x5320e4.3
cmp byte [0x542ce8], 0
jne 0x5333cd
push 0
mov cl, 2
mov edx, dword [0x5475c0]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x5333fc
cmp byte [0x542ce8], 1
jne 0x5333ea
push 0
mov cl, 2
mov edx, dword [0x5475c4]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x5333fc
push 0
mov cl, 2
mov edx, dword [0x5475c8]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x487]
call fcn.004061a4
mov dword [ebp - 0x14], eax
push 0
lea eax, [ebp - 0x7c8]
push eax
xor eax, eax
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x53597c
call fcn.0040b4f8
mov edx, dword [ebp - 0x7c8]
mov cl, 0x10
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
lea edx, [ebp - 0x7cc]
mov eax, dword [0x542ce0]
call fcn.004837c8
mov edx, dword [ebp - 0x7cc]
mov eax, 0x5359f0
call fcn.004849ac
lea edx, [ebp - 0x7d0]
mov eax, dword [0x542ce4]
call fcn.004837c8
mov edx, dword [ebp - 0x7d0]
mov eax, 0x535a04
call fcn.004849ac
lea edx, [ebp - 0x7d4]
mov eax, dword [0x547560]
call fcn.004837c8
mov edx, dword [ebp - 0x7d4]
mov eax, 0x535a18
call fcn.004849ac
push 1
mov cl, byte [0x542ce8]
mov dl, byte [0x542cf4]
mov eax, dword [ebp - 4]
call fcn.00535be0
mov dl, 1
mov eax, dword [0x41c0c4]
call fcn.00403d4c
mov dword [ebp - 0x2c], eax
xor eax, eax
push ebp
push 0x535599
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x542ce8], 2
je 0x534895
mov eax, dword [ebp - 0x14]
dec eax
test eax, eax
jl 0x533a82
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
imul ebx, dword [ebp - 0x10], 0x1af
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x487]
mov eax, dword [eax + ebx*2 + 0x35a]
and eax, 1
cmp eax, 1
je 0x533a76
xor eax, eax
push ebp
push 0x5339d6
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x7d8]
mov eax, dword [0x547560]
call fcn.00483810
lea eax, [ebp - 0x7d8]
push eax
lea eax, [ebp - 0x7dc]
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x487]
lea edx, [edx + ebx*2 + 0x29]
call fcn.00404ef4
mov edx, dword [ebp - 0x7dc]
pop eax
call fcn.00404f58
mov eax, dword [ebp - 0x7d8]
lea edx, [ebp - 0x18]
call fcn.0052d7c4
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
jne 0x533598
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x533a76
lea eax, [ebp - 0x7e0]
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x487]
lea edx, [edx + ebx*2 + 0x129]
call fcn.00404ef4
mov eax, dword [ebp - 0x7e0]
lea edx, [ebp - 0x20]
call fcn.00484908
mov eax, dword [ebp - 0x20]
call fcn.0040a370
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x487]
cmp byte [eax + ebx*2 + 0x229], 0
je 0x533645
push dword [ebp - 0x20]
push 0x535a30
lea eax, [ebp - 0x7ec]
imul edx, dword [ebp - 0x10], 0x1af
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x487]
lea edx, [ecx + edx*2 + 0x229]
call fcn.00404ef4
push dword [ebp - 0x7ec]
lea eax, [ebp - 0x7e8]
mov edx, 3
call fcn.00405010
mov eax, dword [ebp - 0x7e8]
lea edx, [ebp - 0x7e4]
call fcn.0052d7c4
mov edx, dword [ebp - 0x7e4]
lea eax, [ebp - 0x20]
call fcn.00404d28
jmp 0x533690
push dword [ebp - 0x20]
push 0x535a30
lea edx, [ebp - 0x7f8]
mov eax, dword [ebp - 0x18]
call fcn.0040a89c
push dword [ebp - 0x7f8]
lea eax, [ebp - 0x7f4]
mov edx, 3
call fcn.00405010
mov eax, dword [ebp - 0x7f4]
lea edx, [ebp - 0x7f0]
call fcn.0052d7c4
mov edx, dword [ebp - 0x7f0]
lea eax, [ebp - 0x20]
call fcn.00404d28
xor esi, esi
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
call fcn.004838f8
mov ebx, eax
test bl, bl
jne 0x5337ff
call sub.kernel32.dll_GetLastError_1
mov esi, eax
mov eax, dword [ebp - 0x20]
call fcn.0040a33c
test al, al
je 0x5337ff
xor esi, esi
lea eax, [ebp - 0x1c]
mov edx, 0x535a3c
call fcn.00404d28
lea eax, [ebp - 0x7fc]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
call fcn.00404f9c
mov eax, dword [ebp - 0x7fc]
call fcn.0040a33c
test al, al
je 0x533783
lea eax, [ebp - 0x800]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
call fcn.00404f9c
mov eax, dword [ebp - 0x800]
call fcn.0040a630
test al, al
jne 0x533783
xor eax, eax
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x535a4c
call fcn.0040b4f8
lea eax, [ebp - 0x804]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
call fcn.00404f9c
mov eax, dword [ebp - 0x804]
call fcn.0040a33c
test al, al
je 0x533783
lea eax, [ebp - 0x808]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
call fcn.00404f9c
mov eax, dword [ebp - 0x808]
call fcn.0040a630
test al, al
jne 0x533783
inc dword [ebp - 0x48]
jmp 0x533718
lea eax, [ebp - 0x80c]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
call fcn.00404f9c
mov edx, dword [ebp - 0x80c]
xor ecx, ecx
mov eax, dword [ebp - 0x18]
call fcn.004838f8
test al, al
je 0x5337f8
push 5
mov eax, dword [ebp - 0x20]
call fcn.00405150
push eax
lea eax, [ebp - 0x810]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
call fcn.00404f9c
mov eax, dword [ebp - 0x810]
call fcn.00405150
push eax
call sub.kernel32.dll_MoveFileExA
cmp eax, 1
sbb ebx, ebx
inc ebx
test bl, bl
jne 0x5337e6
call sub.kernel32.dll_GetLastError_1
mov esi, eax
cmp byte [0x542cd0], 0
jne 0x5337ff
mov byte [0x542cd0], 1
jmp 0x5337ff
call sub.kernel32.dll_GetLastError_1
mov esi, eax
test bl, bl
je 0x5338c5
push 0
lea eax, [ebp - 0x814]
push eax
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x768], eax
fild dword [ebp - 0x768]
mov eax, dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 0x818], eax
fild dword [ebp - 0x818]
fdivp st(1)
fmul dword [0x535970]
call fcn.00402e6c
mov dword [ebp - 0x770], eax
mov dword [ebp - 0x76c], edx
lea eax, [ebp - 0x770]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0x10
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x53597c
call fcn.0040b4f8
mov edx, dword [ebp - 0x814]
mov cl, 0x10
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
cmp byte [0x542cd0], 0
jne 0x5339c9
imul eax, dword [ebp - 0x10], 0x1af
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x487]
mov eax, dword [edx + eax*2 + 0x35a]
mov edx, 4
call fcn.004799f8
test al, al
je 0x5339c9
mov byte [0x542cd0], 1
jmp 0x5339c9
test esi, esi
je 0x53394e
push 0
lea eax, [ebp - 0x81c]
push eax
lea edx, [ebp - 0x820]
mov eax, dword [ebp - 0x18]
call fcn.0040a89c
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x744], eax
mov byte [ebp - 0x740], 0xb
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 0x738], 0xb
lea edx, [ebp - 0x744]
mov ecx, 1
mov eax, dword [0x5475ec]
call fcn.0040b4f8
lea eax, [ebp - 0x81c]
push eax
lea edx, [ebp - 0x824]
mov eax, esi
call fcn.0040dba8
mov edx, dword [ebp - 0x824]
pop eax
call fcn.00404f58
mov edx, dword [ebp - 0x81c]
mov cl, 0xe
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
jmp 0x5339ad
push 0
lea eax, [ebp - 0x828]
push eax
lea edx, [ebp - 0x82c]
mov eax, dword [ebp - 0x18]
call fcn.0040a89c
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x744], eax
mov byte [ebp - 0x740], 0xb
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 0x738], 0xb
lea edx, [ebp - 0x744]
mov ecx, 1
mov eax, dword [0x5475ec]
call fcn.0040b4f8
mov edx, dword [ebp - 0x828]
mov cl, 0xe
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00531920
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
call fcn.004046b8
jmp case.0x5320e4.3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x533a76
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x533500
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
mov edx, dword [0x542cec]
cmp eax, dword [edx + 0x7f]
jb 0x533a9a
push ebp
call fcn.0053193c
pop ecx
cmp byte [0x542ce8], 0
jne 0x533d20
lea edx, [ebp - 0x840]
mov eax, dword [0x542ce0]
call fcn.00483810
mov eax, dword [ebp - 0x840]
mov edx, dword [0x543998]
mov edx, dword [edx]
call fcn.004097a8
test al, al
jne 0x533b6b
lea edx, [ebp - 0x844]
mov eax, dword [0x542ce0]
call fcn.00483810
lea eax, [ebp - 0x844]
push eax
lea edx, [ebp - 0x848]
mov eax, dword [0x543d38]
mov eax, dword [eax]
call fcn.0040a89c
mov edx, dword [ebp - 0x848]
pop eax
call fcn.00404f58
mov eax, dword [ebp - 0x844]
call fcn.0040a33c
test al, al
jne 0x533b5f
lea edx, [ebp - 0x84c]
mov eax, dword [0x542ce0]
call fcn.00483810
lea eax, [ebp - 0x84c]
push eax
lea edx, [ebp - 0x850]
mov eax, dword [0x543d38]
mov eax, dword [eax]
call fcn.0040a89c
mov edx, dword [ebp - 0x850]
pop eax
call fcn.00404f58
mov edx, dword [ebp - 0x84c]
mov eax, dword [0x543d38]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004838f8
mov eax, dword [0x543d38]
mov eax, dword [eax]
call fcn.004848b0
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x48b]
call fcn.004061a4
dec eax
test eax, eax
jl 0x533d20
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x533ccc
push dword fs:[eax]
mov dword fs:[eax], esp
imul eax, dword [ebp - 0x10], 0xc1
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x48b]
lea esi, [edx + eax*4]
lea edi, [ebp - 0x360]
mov ecx, 0xc1
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x858]
push eax
mov cl, 1
mov dl, byte [ebp - 0x60]
xor eax, eax
call fcn.0048363c
mov eax, dword [ebp - 0x858]
lea edx, [ebp - 0x854]
call fcn.00483810
push dword [ebp - 0x854]
lea eax, [ebp - 0x85c]
lea edx, [ebp - 0x360]
call fcn.00404ef4
push dword [ebp - 0x85c]
push 0x535a68
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00405010
lea edx, [ebp - 0x860]
mov eax, dword [ebp - 0x18]
call fcn.0040a780
mov eax, dword [ebp - 0x860]
call fcn.0040a370
push 0
lea eax, [ebp - 0x870]
lea edx, [ebp - 0x260]
call fcn.00404ef4
mov eax, dword [ebp - 0x870]
lea edx, [ebp - 0x86c]
call fcn.00484908
mov eax, dword [ebp - 0x86c]
lea edx, [ebp - 0x868]
call fcn.0040a780
mov eax, dword [ebp - 0x868]
push eax
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x864]
push eax
lea eax, [ebp - 0x878]
lea edx, [ebp - 0x260]
call fcn.00404ef4
mov eax, dword [ebp - 0x878]
lea edx, [ebp - 0x874]
call fcn.00484908
mov eax, dword [ebp - 0x874]
push eax
lea eax, [ebp - 0x87c]
lea edx, [ebp - 0x160]
call fcn.00404ef4
mov edx, dword [ebp - 0x87c]
mov eax, dword [ebp - 0x18]
pop ecx
call fcn.00483288
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x533d14
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x533b8f
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x48f]
call fcn.004061a4
dec eax
test eax, eax
jl 0x5340ad
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x534059
push dword fs:[eax]
mov dword fs:[eax], esp
imul eax, dword [ebp - 0x10], 0x231
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x48f]
lea esi, [edx + eax]
lea edi, [ebp - 0x591]
mov ecx, 0x8c
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
cmp dword [ebp - 0x591], 0
jne 0x533d8c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5340a1
cmp dword [0x542cf0], 0
je 0x533dc9
mov eax, dword [0x542cf0]
mov edx, dword [eax + 0x48f]
lea eax, [ebp - 0x591]
call fcn.0052e684
mov edx, eax
lea eax, [ebp - 0x591]
call fcn.0052e778
test al, al
je 0x533dc9
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5340a1
mov eax, dword [ebp - 0x364]
and eax, 0xf
dec eax
je 0x533de8
dec eax
je 0x533ed0
dec eax
je 0x533f94
jmp 0x53404f
push 0
lea eax, [ebp - 0x884]
push eax
lea eax, [ebp - 0x888]
lea edx, [ebp - 0x48d]
call fcn.00404ef4
mov eax, dword [ebp - 0x888]
push eax
lea eax, [ebp - 0x88c]
lea edx, [ebp - 0x58d]
call fcn.00404ef4
mov edx, dword [ebp - 0x88c]
mov eax, dword [ebp - 0x591]
pop ecx
call fcn.00479b64
mov eax, dword [ebp - 0x884]
push eax
lea eax, [ebp - 0x894]
lea edx, [ebp - 0x464]
call fcn.00404ef4
mov eax, dword [ebp - 0x894]
lea edx, [ebp - 0x890]
call fcn.00484908
mov edx, dword [ebp - 0x890]
pop eax
call fcn.0040509c
je 0x53404f
lea eax, [ebp - 0x89c]
lea edx, [ebp - 0x464]
call fcn.00404ef4
mov eax, dword [ebp - 0x89c]
lea edx, [ebp - 0x898]
call fcn.00484908
mov eax, dword [ebp - 0x898]
push eax
lea eax, [ebp - 0x8a0]
lea edx, [ebp - 0x48d]
call fcn.00404ef4
mov eax, dword [ebp - 0x8a0]
push eax
lea eax, [ebp - 0x8a4]
lea edx, [ebp - 0x58d]
call fcn.00404ef4
mov edx, dword [ebp - 0x8a4]
mov eax, dword [ebp - 0x591]
pop ecx
call fcn.00479c58
jmp 0x53404f
push 0
lea eax, [ebp - 0x8a8]
lea edx, [ebp - 0x48d]
call fcn.00404ef4
mov eax, dword [ebp - 0x8a8]
push eax
lea eax, [ebp - 0x8ac]
lea edx, [ebp - 0x58d]
call fcn.00404ef4
mov edx, dword [ebp - 0x8ac]
mov eax, dword [ebp - 0x591]
pop ecx
call fcn.00479f0c
mov ebx, eax
lea eax, [ebp - 0x8b0]
lea edx, [ebp - 0x464]
call fcn.00404ef4
mov eax, dword [ebp - 0x8b0]
xor edx, edx
call fcn.00409e30
cmp ebx, eax
je 0x53404f
lea eax, [ebp - 0x8b4]
lea edx, [ebp - 0x464]
call fcn.00404ef4
mov eax, dword [ebp - 0x8b4]
xor edx, edx
call fcn.00409e30
push eax
lea eax, [ebp - 0x8b8]
lea edx, [ebp - 0x48d]
call fcn.00404ef4
mov eax, dword [ebp - 0x8b8]
push eax
lea eax, [ebp - 0x8bc]
lea edx, [ebp - 0x58d]
call fcn.00404ef4
mov edx, dword [ebp - 0x8bc]
mov eax, dword [ebp - 0x591]
pop ecx
call fcn.00479fc4
jmp 0x53404f
push 0
lea eax, [ebp - 0x8c0]
lea edx, [ebp - 0x48d]
call fcn.00404ef4
mov eax, dword [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x8c4]
lea edx, [ebp - 0x58d]
call fcn.00404ef4
mov edx, dword [ebp - 0x8c4]
mov eax, dword [ebp - 0x591]
pop ecx
call fcn.00479db4
mov ebx, eax
lea eax, [ebp - 0x8c8]
lea edx, [ebp - 0x464]
call fcn.00404ef4
mov eax, dword [ebp - 0x8c8]
xor edx, edx
call fcn.00409f90
cmp bl, al
je 0x53404f
lea eax, [ebp - 0x8cc]
lea edx, [ebp - 0x464]
call fcn.00404ef4
mov eax, dword [ebp - 0x8cc]
xor edx, edx
call fcn.00409f90
push eax
lea eax, [ebp - 0x8d0]
lea edx, [ebp - 0x48d]
call fcn.00404ef4
mov eax, dword [ebp - 0x8d0]
push eax
lea eax, [ebp - 0x8d4]
lea edx, [ebp - 0x58d]
call fcn.00404ef4
mov edx, dword [ebp - 0x8d4]
mov eax, dword [ebp - 0x591]
pop ecx
call fcn.00479e6c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5340a1
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x533d44
cmp byte [0x542ce8], 1
jne 0x5343bd
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x4a3]
call fcn.004061a4
dec eax
test eax, eax
jl 0x534256
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
cmp dword [0x542cf0], 0
je 0x53424a
lea eax, [ebp - 0x8dc]
imul edx, dword [ebp - 0x10], 0x32d
mov ecx, dword [0x542cf0]
mov ecx, dword [ecx + 0x4a3]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x8dc]
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x487]
call fcn.0052e4fc
test eax, eax
jne 0x53424a
xor eax, eax
push ebp
push 0x5341fe
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x8e0]
imul edx, dword [ebp - 0x10], 0x32d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x4a3]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x8e0]
lea edx, [ebp - 0x18]
call fcn.00484908
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x5341f4
lea eax, [ebp - 0x8e4]
imul edx, dword [ebp - 0x10], 0x32d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x4a3]
lea edx, [ecx + edx + 0x129]
call fcn.00404ef4
mov eax, dword [ebp - 0x8e4]
mov edx, 0x493e0
call fcn.004ee2b4
push 0
lea eax, [ebp - 0x8e8]
push eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x535a78
call fcn.0040b4f8
mov eax, dword [ebp - 0x8e8]
xor ecx, ecx
xor edx, edx
call fcn.00483858
mov edx, 1
mov eax, 0xc8
call fcn.004ed9c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53424a
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x5340de
cmp dword [0x542cf0], 0
je 0x5343bd
mov eax, dword [0x542cf0]
mov eax, dword [eax + 0x49f]
call fcn.004061a4
dec eax
test eax, eax
jl 0x5343bd
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x8f0]
imul edx, dword [ebp - 0x10], 0x12d
mov ecx, dword [0x542cf0]
mov ecx, dword [ecx + 0x49f]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x8f0]
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x487]
call fcn.0052e4fc
test eax, eax
jne 0x5343b1
xor eax, eax
push ebp
push 0x534365
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x8f4]
imul edx, dword [ebp - 0x10], 0x12d
mov ecx, dword [0x542cf0]
mov ecx, dword [ecx + 0x49f]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x8f4]
lea edx, [ebp - 0x18]
call fcn.00484908
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x53435b
push 0
lea eax, [ebp - 0x8f8]
push eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x535a98
call fcn.0040b4f8
mov eax, dword [ebp - 0x8f8]
xor ecx, ecx
xor edx, edx
call fcn.00483858
mov edx, 1
mov eax, 0xc8
call fcn.004ed9c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5343b1
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x534287
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x49f]
call fcn.004061a4
dec eax
test eax, eax
jl 0x534529
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x5344d5
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x900]
imul edx, dword [ebp - 0x10], 0x12d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x49f]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x900]
lea edx, [ebp - 0x18]
call fcn.00484908
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x5344cb
cmp byte [0x542ce8], 1
jne 0x534482
cmp dword [0x542cf0], 0
je 0x5344cb
lea eax, [ebp - 0x904]
imul edx, dword [ebp - 0x10], 0x12d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x49f]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x904]
mov edx, dword [0x542cf0]
mov edx, dword [edx + 0x487]
call fcn.0052e4fc
test eax, eax
jne 0x5344cb
push 0
lea eax, [ebp - 0x908]
push eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x535ab4
call fcn.0040b4f8
mov eax, dword [ebp - 0x908]
xor ecx, ecx
xor edx, edx
call fcn.00483858
mov edx, 1
mov eax, 0xc8
call fcn.004ed9c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53451d
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x5343e1
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x4a3]
call fcn.004061a4
dec eax
test eax, eax
jl 0x5346cd
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x534679
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x910]
imul edx, dword [ebp - 0x10], 0x32d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x4a3]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x910]
lea edx, [ebp - 0x18]
call fcn.00484908
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x53466f
lea eax, [ebp - 0x914]
imul edx, dword [ebp - 0x10], 0x32d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x4a3]
lea edx, [ecx + edx + 0x129]
call fcn.00404ef4
mov eax, dword [ebp - 0x914]
call fcn.004ee218
test al, al
jne 0x53466f
cmp byte [0x542ce8], 1
jne 0x534626
cmp dword [0x542cf0], 0
je 0x53466f
lea eax, [ebp - 0x918]
imul edx, dword [ebp - 0x10], 0x32d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x4a3]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x918]
mov edx, dword [0x542cf0]
mov edx, dword [edx + 0x487]
call fcn.0052e4fc
test eax, eax
jne 0x53466f
push 0
lea eax, [ebp - 0x91c]
push eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x535ad0
call fcn.0040b4f8
mov eax, dword [ebp - 0x91c]
xor ecx, ecx
xor edx, edx
call fcn.00483858
mov edx, 1
mov eax, 0xc8
call fcn.004ed9c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5346c1
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x53454d
cmp byte [0x542ce8], 1
jne 0x53508c
cmp dword [0x542cf0], 0
je 0x53508c
mov eax, dword [0x542cf0]
mov eax, dword [eax + 0x487]
call fcn.004061a4
dec eax
test eax, eax
jl 0x53508c
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
imul eax, dword [ebp - 0x10], 0x1af
mov edx, dword [0x542cf0]
mov edx, dword [edx + 0x487]
lea eax, [edx + eax*2]
lea edx, [ebp - 0x18]
call fcn.0052e424
mov eax, dword [0x542cec]
mov edx, dword [eax + 0x487]
mov eax, dword [ebp - 0x18]
call fcn.0052e4fc
test eax, eax
jne 0x534884
lea edx, [ebp - 0x924]
mov eax, dword [ebp - 0x18]
call fcn.00484908
mov edx, dword [ebp - 0x924]
lea eax, [ebp - 0x18]
call fcn.00404d28
xor eax, eax
push ebp
push 0x534838
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x53482e
push 1
push 0x535af0
push dword [ebp - 0x18]
push 0x535b04
lea eax, [ebp - 0x928]
mov edx, 3
call fcn.00405010
mov edx, dword [ebp - 0x928]
mov cl, 4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov edx, dword [0x543d38]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.004097a8
test al, al
je 0x5347cd
mov eax, dword [ebp - 0x18]
call fcn.0040a630
test al, al
jne 0x53482e
lea eax, [ebp - 0x92c]
mov ecx, 0x535b10
mov edx, dword [ebp - 0x18]
call fcn.00404f9c
mov eax, dword [ebp - 0x92c]
call fcn.0040a33c
test al, al
je 0x53480d
lea eax, [ebp - 0x930]
mov ecx, 0x535b10
mov edx, dword [ebp - 0x18]
call fcn.00404f9c
mov eax, dword [ebp - 0x930]
call fcn.0040a630
lea eax, [ebp - 0x934]
mov ecx, 0x535b10
mov edx, dword [ebp - 0x18]
call fcn.00404f9c
mov edx, dword [ebp - 0x934]
mov eax, dword [ebp - 0x18]
call fcn.0040a648
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x534884
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x53470b
jmp 0x53508c
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x4a3]
call fcn.004061a4
dec eax
test eax, eax
jl 0x5349df
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x53498b
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x93c]
imul edx, dword [ebp - 0x10], 0x32d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x4a3]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x93c]
lea edx, [ebp - 0x18]
call fcn.00484908
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x534981
lea eax, [ebp - 0x940]
imul edx, dword [ebp - 0x10], 0x32d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x4a3]
lea edx, [ecx + edx + 0x129]
call fcn.00404ef4
mov eax, dword [ebp - 0x940]
mov edx, 0x493e0
call fcn.004ee2b4
push 0
lea eax, [ebp - 0x944]
push eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x535a78
call fcn.0040b4f8
mov eax, dword [ebp - 0x944]
xor ecx, ecx
xor edx, edx
call fcn.00483858
mov edx, 1
mov eax, 0xc8
call fcn.004ed9c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5349d3
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x5348b9
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x49f]
call fcn.004061a4
dec eax
test eax, eax
jl 0x534af4
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x534aa0
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x94c]
imul edx, dword [ebp - 0x10], 0x12d
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x49f]
lea edx, [ecx + edx + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x94c]
lea edx, [ebp - 0x18]
call fcn.00484908
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x534a96
push 0
lea eax, [ebp - 0x950]
push eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 0xb
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x535a98
call fcn.0040b4f8
mov eax, dword [ebp - 0x950]
xor ecx, ecx
xor edx, edx
call fcn.00483858
mov edx, 1
mov eax, 0xc8
call fcn.004ed9c0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x534ae8
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x534a03
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x48b]
call fcn.004061a4
dec eax
test eax, eax
jl 0x534c67
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x534c13
push dword fs:[eax]
mov dword fs:[eax], esp
imul eax, dword [ebp - 0x10], 0xc1
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x48b]
lea esi, [edx + eax*4]
lea edi, [ebp - 0x360]
mov ecx, 0xc1
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x958]
push eax
mov cl, 1
mov dl, byte [ebp - 0x60]
xor eax, eax
call fcn.0048363c
mov eax, dword [ebp - 0x958]
lea edx, [ebp - 0x18]
call fcn.00483810
lea edx, [ebp - 0x360]
mov eax, 0x535b18
call fcn.00402d88
mov ebx, eax
test ebx, ebx
jle 0x534bc9
lea eax, [ebp - 0x720]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
lea eax, [ebp - 0x360]
call fcn.00402a50
lea edx, [ebp - 0x720]
lea eax, [ebp - 0x30]
call fcn.00404ef4
lea eax, [ebp - 0x18]
mov edx, dword [ebp - 0x30]
call fcn.00404f58
mov eax, dword [ebp - 0x18]
call fcn.0040a34c
test al, al
je 0x534c09
mov eax, dword [ebp - 0x18]
call fcn.00483fcc
jmp 0x534c09
push dword [ebp - 0x18]
lea eax, [ebp - 0x95c]
lea edx, [ebp - 0x360]
call fcn.00404ef4
push dword [ebp - 0x95c]
push 0x535a68
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00405010
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x534c09
mov eax, dword [ebp - 0x18]
call fcn.0040a630
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x534c5b
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x534b18
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x48f]
call fcn.004061a4
dec eax
test eax, eax
jl 0x534e5d
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x534e09
push dword fs:[eax]
mov dword fs:[eax], esp
imul eax, dword [ebp - 0x10], 0x231
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x48f]
lea esi, [edx + eax]
lea edi, [ebp - 0x591]
mov ecx, 0x8c
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov ebx, dword [ebp - 0x591]
test ebx, ebx
jne 0x534cd4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x534e51
lea eax, [ebp - 0x968]
lea edx, [ebp - 0x464]
call fcn.00404ef4
mov eax, dword [ebp - 0x968]
lea edx, [ebp - 0x964]
call fcn.00484908
mov eax, dword [ebp - 0x964]
push eax
lea eax, [ebp - 0x96c]
lea edx, [ebp - 0x58d]
call fcn.00404ef4
mov edx, dword [ebp - 0x96c]
mov eax, ebx
pop ecx
call fcn.00479cf8
mov eax, dword [ebp - 0x364]
and eax, 0x10
cmp eax, 0x10
jne 0x534dff
lea edx, [ebp - 0x58d]
mov eax, 0x535b18
call fcn.00402d88
mov ebx, eax
test ebx, ebx
jg 0x534d51
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x534e51
lea eax, [ebp - 0x720]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
lea eax, [ebp - 0x58d]
call fcn.00402a50
lea edx, [ebp - 0x720]
lea eax, [ebp - 0x30]
call fcn.00404ef4
lea eax, [ebp - 0x970]
lea edx, [ebp - 0x58d]
call fcn.00404ef4
mov edx, dword [ebp - 0x970]
lea ecx, [ebx + 1]
mov eax, 0x535a30
call fcn.00439b1c
mov ebx, eax
test ebx, ebx
jg 0x534db0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x534e51
lea eax, [ebp - 0x720]
push eax
mov eax, dword [ebp - 0x30]
call fcn.00404f50
sub ebx, eax
sub ebx, 2
push ebx
mov eax, dword [ebp - 0x30]
call fcn.00404f50
mov edx, eax
add edx, 2
lea eax, [ebp - 0x58d]
pop ecx
call fcn.00402a50
lea edx, [ebp - 0x720]
lea eax, [ebp - 0x34]
call fcn.00404ef4
push 0
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x591]
call fcn.0047a064
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x534e51
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x534c8b
cmp dword [0x542cf0], 0
je 0x534e70
mov eax, dword [0x542cf0]
mov dword [ebp - 0x44], eax
jmp 0x534e78
mov eax, dword [0x542cec]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x487]
call fcn.004061a4
dec eax
test eax, eax
jl 0x534fe0
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
xor eax, eax
push ebp
push 0x534f8c
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x97c]
imul ebx, dword [ebp - 0x10], 0x1af
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 0x487]
lea edx, [edx + ebx*2 + 0x29]
call fcn.00404ef4
mov eax, dword [ebp - 0x97c]
lea edx, [ebp - 0x978]
call fcn.0052d754
mov eax, dword [ebp - 0x978]
push eax
lea eax, [ebp - 0x988]
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 0x487]
lea edx, [edx + ebx*2 + 0x129]
call fcn.00404ef4
mov eax, dword [ebp - 0x988]
lea edx, [ebp - 0x984]
call fcn.00484908
mov eax, dword [ebp - 0x984]
lea edx, [ebp - 0x980]
call fcn.00483810
mov edx, dword [ebp - 0x980]
lea eax, [ebp - 0x18]
pop ecx
call fcn.00404f9c
mov edx, dword [0x543d38]
mov edx, dword [edx]
mov eax, dword [ebp - 0x18]
call fcn.004097a8
test al, al
jne 0x534f82
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x534f82
push 1
push 0x535af0
push dword [ebp - 0x18]
push 0x535b04
lea eax, [ebp - 0x98c]
mov edx, 3
call fcn.00405010
mov edx, dword [ebp - 0x98c]
mov cl, 4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, dword [ebp - 0x18]
call fcn.0040a630
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x534fd4
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x534e9a
xor eax, eax
push ebp
push 0x535040
push dword fs:[eax]
mov dword fs:[eax], esp
push 1
push 0x535b24
push dword [0x542ce0]
push 0x535b04
lea eax, [ebp - 0x994]
mov edx, 3
call fcn.00405010
mov edx, dword [ebp - 0x994]
mov cl, 4
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, dword [0x542ce0]
call fcn.00483fcc
mov eax, dword [0x543d38]
mov eax, dword [eax]
call fcn.004848b0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x53508c
push 0
mov cl, byte [0x542ce8]
mov dl, byte [0x542cf4]
mov eax, dword [ebp - 4]
call fcn.00535be0
call fcn.004ec45c
test al, al
je 0x535519
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x44]
lea eax, [ebp - 0x3c]
call fcn.004840c4
mov eax, dword [ebp - 0x3c]
call fcn.00404f50
mov dword [ebp - 0x40], eax
cmp byte [0x542ce8], 0
je 0x5350e0
cmp byte [0x542ce8], 1
jne 0x53530c
mov eax, dword [ebp - 0x14]
dec eax
test eax, eax
jl 0x53525b
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
imul eax, dword [ebp - 0x10], 0x1af
mov edx, dword [0x542cec]
mov edx, dword [edx + 0x487]
mov ebx, dword [edx + eax*2 + 0x35a]
mov eax, ebx
and eax, 1
cmp eax, 1
je 0x53524f
mov eax, ebx
mov edx, 8
call fcn.004799f8
test al, al
je 0x53524f
lea edx, [ebp - 0x99c]
mov eax, dword [0x547560]
call fcn.00483810
lea eax, [ebp - 0x99c]
push eax
lea eax, [ebp - 0x9a0]
imul edx, dword [ebp - 0x10], 0x1af
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x487]
lea edx, [ecx + edx*2 + 0x29]
call fcn.00404ef4
mov edx, dword [ebp - 0x9a0]
pop eax
call fcn.00404f58
mov eax, dword [ebp - 0x99c]
lea edx, [ebp - 0x18]
call fcn.0052d7c4
lea eax, [ebp - 0x9a4]
imul edx, dword [ebp - 0x10], 0x1af
mov ecx, dword [0x542cec]
mov ecx, dword [ecx + 0x487]
lea edx, [ecx + edx*2 + 0x129]
call fcn.00404ef4
mov eax, dword [ebp - 0x9a4]
lea edx, [ebp - 0x20]
call fcn.00484908
push dword [ebp - 0x20]
push 0x535a30
lea edx, [ebp - 0x9b0]
mov eax, dword [ebp - 0x18]
call fcn.0040a89c
push dword [ebp - 0x9b0]
lea eax, [ebp - 0x9ac]
mov edx, 3
call fcn.00405010
mov eax, dword [ebp - 0x9ac]
lea edx, [ebp - 0x9a8]
call fcn.0052d7c4
mov edx, dword [ebp - 0x9a8]
lea eax, [ebp - 0x20]
call fcn.00404d28
mov eax, dword [ebp - 0x18]
call fcn.0040a33c
test al, al
je 0x53524f
lea eax, [ebp - 0x9b4]
push eax
mov ecx, dword [ebp - 0x40]
mov edx, 1
mov eax, dword [ebp - 0x20]
call fcn.004051b0
mov edx, dword [ebp - 0x9b4]
mov eax, dword [ebp - 0x3c]
call fcn.004097a8
test al, al
je 0x53524f
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x5350f7
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x53530c
xor eax, eax
call fcn.004ec494
xor eax, eax
push ebp
push 0x535305
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x14]
sar eax, 1
jns 0x53528f
adc eax, 0
dec eax
test eax, eax
jl 0x5352f0
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x10]
add edx, dword [ebp - 0x10]
inc edx
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
lea edx, [ebp - 0x9b8]
mov eax, dword [ebp - 0x20]
call fcn.0040a780
mov eax, dword [ebp - 0x9b8]
call fcn.0040a370
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
call fcn.004838f8
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x53529f
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x53530c
mov al, 1
call fcn.004ec494
ret
cmp byte [0x542ce8], 2
jne 0x535519
cmp dword [0x542cf0], 0
je 0x53532c
mov eax, dword [0x542cf0]
mov dword [ebp - 0x44], eax
jmp 0x535334
mov eax, dword [0x542cec]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x487]
call fcn.004061a4
dec eax
test eax, eax
jl 0x53549a
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
imul eax, dword [ebp - 0x10], 0x1af
mov edx, dword [ebp - 0x44]
mov edx, dword [edx + 0x487]
mov ebx, dword [edx + eax*2 + 0x35a]
mov eax, ebx
and eax, 1
cmp eax, 1
je 0x53548e
mov eax, ebx
mov edx, 8
call fcn.004799f8
test al, al
je 0x53548e
lea edx, [ebp - 0x9bc]
mov eax, dword [0x547560]
call fcn.00483810
lea eax, [ebp - 0x9bc]
push eax
lea eax, [ebp - 0x9c0]
imul edx, dword [ebp - 0x10], 0x1af
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + 0x487]
lea edx, [ecx + edx*2 + 0x29]
call fcn.00404ef4
mov edx, dword [ebp - 0x9c0]
pop eax
call fcn.00404f58
mov eax, dword [ebp - 0x9bc]
lea edx, [ebp - 0x18]
call fcn.0052d7c4
lea eax, [ebp - 0x9c4]
imul edx, dword [ebp - 0x10], 0x1af
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx + 0x487]
lea edx, [ecx + edx*2 + 0x129]
call fcn.00404ef4
mov eax, dword [ebp - 0x9c4]
lea edx, [ebp - 0x20]
call fcn.00484908
push dword [ebp - 0x20]
push 0x535a30
lea edx, [ebp - 0x9d0]
mov eax, dword [ebp - 0x18]
call fcn.0040a89c
push dword [ebp - 0x9d0]
lea eax, [ebp - 0x9cc]
mov edx, 3
call fcn.00405010
mov eax, dword [ebp - 0x9cc]
lea edx, [ebp - 0x9c8]
call fcn.0052d7c4
mov edx, dword [ebp - 0x9c8]
lea eax, [ebp - 0x20]
call fcn.00404d28
lea eax, [ebp - 0x9d4]
push eax
mov ecx, dword [ebp - 0x40]
mov edx, 1
mov eax, dword [ebp - 0x20]
call fcn.004051b0
mov edx, dword [ebp - 0x9d4]
mov eax, dword [ebp - 0x3c]
call fcn.004097a8
test al, al
je 0x53548e
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x535356
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x535519
xor eax, eax
call fcn.004ec494
xor eax, eax
push ebp
push 0x535512
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5354fd
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0
lea ecx, [ebp - 0x20]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x2c]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x20]
call fcn.0040a33c
test al, al
je 0x5354f5
mov eax, dword [ebp - 0x20]
call fcn.0040a630
inc dword [ebp - 0x10]
dec dword [ebp - 0x4c]
jne 0x5354d3
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x535519
mov al, 1
call fcn.004ec494
ret
push 0
lea eax, [ebp - 0x9d8]
push eax
mov dword [ebp - 0x5a0], 0x64
mov byte [ebp - 0x59c], 0
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, 0x53597c
call fcn.0040b4f8
mov edx, dword [ebp - 0x9d8]
mov cl, 0x10
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov dl, 6
mov eax, dword [ebp - 4]
call fcn.0053208c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push case.0x5320e4.3
lea eax, [ebp - 0x2c]
call fcn.004101b8
xor edx, edx
mov eax, 0x5359f0
call fcn.004849ac
xor edx, edx
mov eax, 0x535a04
call fcn.004849ac
xor edx, edx
mov eax, 0x535a18
call fcn.004849ac
ret
push 0
lea eax, [ebp - 0x9dc]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x5475d8]
call fcn.0040b4f8
mov edx, dword [ebp - 0x9dc]
mov cl, 0xa
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
lea eax, [ebp - 0x9e0]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x744], eax
mov byte [ebp - 0x740], 4
lea ecx, [ebp - 0x9e4]
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x7b]
mov edx, 3
call fcn.004eeac8
mov eax, dword [ebp - 0x9e4]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 0x738], 0xb
lea edx, [ebp - 0x744]
mov ecx, 1
mov eax, dword [0x5475dc]
call fcn.0040b4f8
mov edx, dword [ebp - 0x9e0]
mov cl, 0xb
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
cmp byte [0x542ce8], 0
jne 0x5356ab
push 0
mov cl, 2
mov edx, dword [0x5475cc]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x88], 0
jne 0x53569b
cmp byte [0x542cd0], 0
jne 0x53569b
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x383]
mov edx, 1
call fcn.004799f8
test al, al
jne 0x53569b
xor eax, eax
jmp 0x53569d
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x88], al
jmp 0x5357fc
cmp byte [0x542ce8], 1
jne 0x535708
push 0
mov cl, 2
mov edx, dword [0x5475d0]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x88], 0
jne 0x5356f8
cmp byte [0x542cd0], 0
jne 0x5356f8
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x383]
mov edx, 2
call fcn.004799f8
test al, al
jne 0x5356f8
xor eax, eax
jmp 0x5356fa
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x88], al
jmp 0x5357fc
push 0
mov cl, 2
mov edx, dword [0x5475d4]
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
lea eax, [ebp - 0x9e8]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x5a0], eax
mov byte [ebp - 0x59c], 4
lea edx, [ebp - 0x5a0]
xor ecx, ecx
mov eax, dword [0x5475e0]
call fcn.0040b4f8
mov edx, dword [ebp - 0x9e8]
mov cl, 0xa
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
push 0
lea eax, [ebp - 0x9ec]
push eax
mov eax, dword [0x542cec]
add eax, 0x52
mov dword [ebp - 0x744], eax
mov byte [ebp - 0x740], 4
lea ecx, [ebp - 0x9f0]
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x7b]
mov edx, 3
call fcn.004eeac8
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x73c], eax
mov byte [ebp - 0x738], 0xb
lea edx, [ebp - 0x744]
mov ecx, 1
mov eax, dword [0x5475e4]
call fcn.0040b4f8
mov edx, dword [ebp - 0x9ec]
mov cl, 0xb
mov eax, dword [ebp - 4]
mov ebx, dword [eax]
call dword [ebx + 0x3c]
mov eax, dword [ebp - 4]
cmp byte [eax + 0x88], 0
jne 0x5357f1
mov eax, dword [0x542cec]
mov eax, dword [eax + 0x383]
mov edx, 4
call fcn.004799f8
test al, al
jne 0x5357f1
xor eax, eax
jmp 0x5357f3
mov al, 1
mov edx, dword [ebp - 4]
mov byte [edx + 0x88], al
mov dl, 3
mov eax, dword [ebp - 4]
call fcn.00531920
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5358c3
lea eax, [ebp - 0x9f0]
mov edx, 0x64
call fcn.00404cb4
lea eax, [ebp - 0x860]
mov edx, 0x12
call fcn.00404cb4
lea eax, [ebp - 0x814]
mov edx, 0x1f
call fcn.00404cb4
lea eax, [ebp - 0x780]
mov edx, 4
call fcn.00404cb4
lea eax, [ebp - 0x764]
mov edx, 8
call fcn.00404cb4
lea eax, [ebp - 0x734]
mov edx, 5
call fcn.00404cb4
lea eax, [ebp - 0x620]
mov edx, 0x20
call fcn.00404cb4
lea eax, [ebp - 0x598]
call fcn.00404c90
lea eax, [ebp - 0x18]
call fcn.00404c90
lea eax, [ebp - 0x3c]
call fcn.00404c90
lea eax, [ebp - 0x34]
mov edx, 2
call fcn.00404cb4
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00404cb4
ret