Function at 0x456b80
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff08
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x48]
mov edx, dword [0x418b1c]
call fcn.00407048
xor eax, eax
push ebp
push 0x457b59
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, dword [0x40b65c]
call fcn.00407f38
lea eax, [ebp - 0x58]
push eax
call fcn.004098a8
test eax, eax
je 0x456c15
lea eax, [ebp - 0x60]
push eax
call fcn.004098b0
test eax, eax
je 0x456c15
push 0
push 0x3e8
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
call fcn.004077a8
push edx
push eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
call fcn.004077a8
mov dword [0x554ca0], eax
mov dword [0x554ca4], edx
push 0x457b68
mov eax, dword [0x553b20]
push eax
call fcn.00409694
test eax, eax
setne byte [0x5484a4]
mov eax, dword [0x54fb00]
mov dword [eax], 0x438634
mov eax, dword [0x550178]
mov dword [eax], 0x438b98
lea edx, [ebp - 0xcc]
mov eax, dword [0x553b20]
call fcn.0043d694
mov edx, dword [ebp - 0xcc]
mov eax, 0x548bdc
call fcn.0040872c
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0x308]
test al, al
je 0x456cc2
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x456cc2
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0x318]
test al, al
je 0x456cc2
mov eax, dword [0x553b20]
call fcn.00456630
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp eax, dword [0x553b20]
je 0x456cc2
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0xc]
call fcn.00456630
push 0x457ba8
push 0x457bc0
call fcn.0040966c
push eax
call fcn.00409694
mov dword [0x5484b0], eax
push 0x457bdc
push 0x457bf8
call fcn.0040966c
push eax
call fcn.00409694
mov dword [0x5484b4], eax
call fcn.00456a98
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0x308]
test al, al
je 0x457adc
lea edx, [ebp - 0xc8]
lea eax, [ebp - 0xb4]
call fcn.00430c50
lea eax, [ebp - 0xd4]
push eax
call fcn.004095bc
mov cl, 0x30
mov edx, 1
call fcn.0040d944
mov ecx, dword [ebp - 0xd4]
lea eax, [ebp - 0xd0]
mov edx, 0x457c18
call fcn.00405c6c
mov eax, dword [ebp - 0xd0]
call fcn.00405ee4
push eax
push 0x14
push 0
push 4
lea eax, [ebp - 0xb4]
push eax
push 0xffffffffffffffff
call fcn.004093fc
mov ebx, eax
call fcn.0040962c
test eax, eax
jne 0x456e18
push 0
push 0
push 0
push 0xf001f
push ebx
call fcn.00409868
mov dword [0x5484ac], eax
mov eax, dword [0x5484ac]
mov dword [eax + 0xc], 1
push 0
push 0
push 0
call fcn.00409414
mov edx, dword [0x5484ac]
mov dword [edx], eax
push 0
push 0
push 0
call fcn.00409414
mov edx, dword [0x5484ac]
mov dword [edx + 4], eax
mov eax, dword [0x5484ac]
xor edx, edx
mov dword [eax + 8], edx
mov eax, dword [0x5484ac]
mov dword [eax + 0x10], ebx
lea eax, [ebp - 4]
call fcn.0042fd28
cmp dword [ebp - 4], 0
je 0x456e0a
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x548400], eax
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 0x457c3c
xor edx, edx
call fcn.00431024
jmp 0x456e62
mov eax, dword [0x5501d0]
mov eax, dword [eax]
mov dword [0x548400], eax
jmp 0x456e62
test ebx, ebx
je 0x456e48
push 0
push 0
push 0
push 0xf001f
push ebx
call fcn.00409868
mov dword [0x5484ac], eax
push ebx
call fcn.004093a4
mov eax, dword [0x5484ac]
add eax, 0xc
push eax
call fcn.0040957c
jmp 0x456e62
push 0
push 0x457c48
push 0x457c54
push 0
call fcn.0040a140
push 0
call fcn.004094bc
cmp dword [0x5484ac], 0
jne 0x456e85
push 0
push 0x457c48
push 0x457c7c
push 0
call fcn.0040a140
push 0
call fcn.004094bc
cmp dword [0x548400], 0
jne 0x456eff
push 0xffffffffffffffff
mov eax, dword [0x5484ac]
mov eax, dword [eax + 4]
push eax
call fcn.004099b0
xor edx, edx
push ebp
push 0x456ee3
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x5484ac]
mov eax, dword [eax + 8]
test eax, eax
je 0x456ec7
mov edx, dword [eax]
mov dword [0x548400], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x456eb8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x456eea
mov eax, dword [0x5484ac]
mov eax, dword [eax + 4]
push eax
call fcn.004098d0
ret
push 0
call fcn.0040966c
cmp eax, dword [0x553b20]
je 0x456f1b
cmp byte [0x5484a4], 0
jne 0x456f1b
xor eax, eax
jmp 0x456f1d
mov al, 1
mov byte [ebp - 0x4d], al
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x457ad3
mov eax, 0x54844c
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548450
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548454
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548458
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x54845c
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548460
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548464
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548468
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x54846c
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548470
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548474
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548478
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x54847c
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548480
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548484
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548488
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x54848c
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548490
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548494
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x548498
mov edx, dword [0x553b20]
call fcn.00456554
mov eax, 0x54849c
mov edx, dword [0x553b20]
call fcn.00456554
cmp dword [0x548480], 0
je 0x4570a4
cmp dword [0x54844c], 0
je 0x4570a4
cmp dword [0x548454], 0
jne 0x4573a6
cmp byte [ebp - 0x4d], 0
je 0x4573a6
mov ebx, 0x408840
cmp word [ebx], 0x25ff
jne 0x4570de
add ebx, 2
mov eax, dword [ebx]
mov ebx, dword [eax]
lea ecx, [ebp - 8]
lea edx, [ebp - 0x4c]
mov eax, ebx
call fcn.004170b0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [0x553b20]
jne 0x4570de
xor eax, eax
mov dword [ebp - 0x4c], eax
push 0x457cb8
mov ecx, 0x78
mov edx, 0x457d00
mov eax, dword [ebp - 0x4c]
call fcn.004567f4
mov esi, eax
cmp dword [ebp - 0x4c], 0
jne 0x457116
push 0x457d10
mov ecx, 0x78
mov edx, 0x457d30
mov eax, esi
call fcn.004567f4
mov dword [ebp - 0x4c], eax
push 0x457d40
mov ecx, 0x78
mov edx, 0x457d88
xor eax, eax
call fcn.004567f4
mov edi, eax
cmp dword [0x548480], 0
jne 0x457346
cmp dword [ebp - 0x4c], 0
je 0x457346
push 0x457d94
mov eax, dword [ebp - 0x4c]
push eax
call fcn.00409694
mov dword [0x54845c], eax
cmp dword [0x54845c], 0
je 0x45733b
mov eax, dword [0x54845c]
cmp byte [eax], 0xe9
je 0x45733b
push 0x457df4
mov eax, dword [ebp - 0x4c]
push eax
call fcn.00409694
mov dword [0x548460], eax
push 0x457e50
mov eax, dword [ebp - 0x4c]
push eax
call fcn.00409694
mov dword [0x548464], eax
push 0x457e94
mov eax, dword [ebp - 0x4c]
push eax
call fcn.00409694
mov dword [0x548468], eax
push 0x457ed4
mov eax, dword [ebp - 0x4c]
push eax
call fcn.00409694
lea edx, [ebp - 0x84]
call fcn.0041cb40
mov bl, 1
jmp 0x457321
cmp dword [ebp - 0x7c], 0
je 0x4572fc
cmp byte [ebp - 0x7d], 0
je 0x4572fc
cmp dword [ebp - 0x70], 4
jne 0x4572fc
test bl, bl
je 0x45727d
xor ebx, ebx
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x7c]
call fcn.0041cb40
jmp 0x457263
cmp word [ebp - 0xa6], 0xc7
jne 0x45723b
cmp byte [ebp - 0xa4], 0x40
jne 0x45723b
mov eax, dword [ebp - 0x88]
sub eax, 5
cmp byte [eax], 4
jne 0x45723b
mov eax, dword [ebp - 0x88]
sub eax, 4
mov eax, dword [eax]
mov dword [0x548480], eax
jmp 0x4572fc
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x88]
call fcn.0041cb40
push esi
push edi
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0xa8]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0xa8], 0
je 0x4572fc
cmp word [ebp - 0xa6], 0xc3
jne 0x457204
jmp 0x4572fc
mov eax, dword [ebp - 0x7c]
mov dword [0x548478], eax
lea edx, [ebp - 0x84]
mov eax, dword [0x548478]
call fcn.0041cb40
jmp 0x4572e6
cmp dword [ebp - 0x7c], 0
je 0x4572c1
cmp word [ebp - 0x82], 0xe8
jne 0x4572c1
cmp byte [ebp - 0x7d], 0
je 0x4572c1
cmp dword [ebp - 0x70], 4
jne 0x4572c1
mov eax, dword [ebp - 0x7c]
mov dword [0x54847c], eax
jmp 0x457346
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
push esi
push edi
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x84], 0
je 0x457346
cmp word [ebp - 0x82], 0xc3
jne 0x457297
jmp 0x457346
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
push esi
push edi
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
cmp byte [ebp - 0x84], 0
je 0x457346
cmp word [ebp - 0x82], 0xc3
jne 0x4571cc
jmp 0x457346
mov byte [ebp - 0x4d], 0
xor eax, eax
mov dword [0x54845c], eax
cmp byte [ebp - 0x4d], 0
je 0x4573a6
cmp dword [0x54844c], 0
jne 0x457379
test esi, esi
je 0x457379
push 0x457f5c
push esi
call fcn.00409694
mov dword [0x54844c], eax
push 0x457fd0
push esi
call fcn.00409694
mov dword [0x548450], eax
cmp dword [0x548454], 0
jne 0x4573a6
test edi, edi
je 0x4573a6
push 0x458048
push edi
call fcn.00409694
mov dword [0x548454], eax
push 0x4580bc
push edi
call fcn.00409694
mov dword [0x548458], eax
mov eax, dword [0x54fba0]
mov dword [0x548cfc], eax
cmp dword [0x548480], 0
je 0x4573c8
mov edx, 0x454de8
mov eax, dword [0x548480]
call fcn.0044e3b8
cmp dword [0x54844c], 0
je 0x4573e0
mov edx, 0x453ea8
mov eax, dword [0x54844c]
call fcn.0044e3b8
cmp dword [0x548450], 0
je 0x4573f8
mov edx, 0x453e80
mov eax, dword [0x548450]
call fcn.0044e3b8
cmp dword [0x548454], 0
je 0x457410
mov edx, 0x453ea8
mov eax, dword [0x548454]
call fcn.0044e3b8
cmp dword [0x548458], 0
je 0x457428
mov edx, 0x453e80
mov eax, dword [0x548458]
call fcn.0044e3b8
cmp dword [0x54845c], 0
je 0x457440
mov edx, 0x453e54
mov eax, dword [0x54845c]
call fcn.0044e3b8
cmp dword [0x54846c], 0
je 0x457458
mov edx, 0x453eec
mov eax, dword [0x54846c]
call fcn.0044e3b8
cmp dword [0x548470], 0
je 0x457470
mov edx, 0x453f14
mov eax, dword [0x548470]
call fcn.0044e3b8
cmp dword [0x548474], 0
je 0x45749a
mov byte [0x548440], 1
mov eax, 0x18
call fcn.004030cc
mov dword [0x548d0c], eax
mov eax, dword [0x548d0c]
push eax
call fcn.00409818
cmp dword [0x548460], 0
je 0x45756c
cmp dword [0x548464], 0
je 0x45756c
lea edx, [ebp - 0x48]
mov eax, dword [0x548460]
call fcn.0041de24
mov eax, dword [ebp - 0x28]
call fcn.00407c50
dec eax
jne 0x4574d7
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x548460], eax
lea edx, [ebp - 0x48]
mov eax, dword [0x548464]
call fcn.0041de24
mov eax, dword [ebp - 0x28]
call fcn.00407c50
dec eax
jne 0x4574fa
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x548464], eax
lea edx, [ebp - 0x84]
mov eax, dword [0x548460]
call fcn.0041cb40
jmp 0x45755a
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x457539
cmp ebx, dword [0x548464]
jne 0x457539
cmp dword [ebp - 0x70], 4
jne 0x45756c
cmp byte [ebp - 0x7d], 0
je 0x45756c
mov edx, 0x4546ec
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e408
jmp 0x45756c
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x45750c
cmp dword [0x548468], 0
je 0x4575fa
mov ebx, fcn.00403190
cmp word [ebx], 0x25ff
jne 0x45758c
add ebx, 2
mov eax, dword [ebx]
mov ebx, dword [eax]
lea edx, [ebp - 0x84]
mov eax, dword [0x548468]
call fcn.0041cb40
jmp 0x4575e8
mov esi, dword [ebp - 0x7c]
test esi, esi
je 0x4575c7
cmp ebx, esi
jne 0x4575c7
cmp dword [ebp - 0x70], 4
jne 0x4575fa
cmp byte [ebp - 0x7d], 0
je 0x4575fa
mov edx, 0x4545a8
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e408
jmp 0x4575fa
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x45759e
call fcn.00456570
lea edx, [ebp - 0x84]
call fcn.0041cb40
xor ebx, ebx
jmp 0x457659
cmp byte [ebp - 0x7d], 0
je 0x457638
cmp dword [ebp - 0x70], 4
jne 0x457638
cmp dword [ebp - 0x7c], 0
je 0x457638
test bl, bl
je 0x457636
mov edx, 0x454604
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e408
jmp 0x45766b
mov bl, 1
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x45760e
call fcn.00456570
lea edx, [ebp - 0x84]
call fcn.0041cb40
jmp 0x4576cb
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x4576aa
cmp ebx, dword [0x54847c]
jne 0x4576aa
cmp dword [ebp - 0x70], 4
jne 0x4576dd
cmp byte [ebp - 0x7d], 0
je 0x4576dd
mov edx, 0x454774
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e408
jmp 0x4576dd
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x45767d
mov ebx, dword [0x548478]
test ebx, ebx
je 0x45775b
cmp dword [0x54847c], 0
je 0x45775b
lea edx, [ebp - 0x84]
mov eax, ebx
call fcn.0041cb40
jmp 0x457749
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x54847c]
jne 0x457728
cmp dword [ebp - 0x70], 4
jne 0x45775b
cmp byte [ebp - 0x7d], 0
je 0x45775b
mov edx, 0x454774
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e408
jmp 0x45775b
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x4576ff
mov ebx, dword [0x54847c]
test ebx, ebx
je 0x4577d0
lea edx, [ebp - 0x84]
mov eax, ebx
call fcn.0041cb40
jmp 0x4577be
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x54847c]
jne 0x45779d
cmp dword [ebp - 0x70], 4
jne 0x4577d0
cmp byte [ebp - 0x7d], 0
je 0x4577d0
mov edx, 0x454774
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e408
jmp 0x4577d0
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x457774
lea edx, [ebp - 0x84]
mov eax, fcn.00404578
call fcn.0041cb40
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x4577eb
mov ebx, eax
jmp 0x4577f0
mov ebx, fcn.00404578
call fcn.0045655c
lea edx, [ebp - 0x84]
call fcn.0041cb40
jmp 0x457846
cmp ebx, dword [ebp - 0x7c]
jne 0x457825
cmp dword [ebp - 0x70], 4
jne 0x457858
cmp byte [ebp - 0x7d], 0
je 0x457858
mov edx, 0x4550f4
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e408
jmp 0x457858
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x457802
call fcn.00456598
lea edx, [ebp - 0x84]
call fcn.0041cb40
jmp 0x45788b
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x84], 0
je 0x4578c9
cmp word [ebp - 0x82], 0x8b
jne 0x4578b7
cmp byte [ebp - 0x80], 0x15
jne 0x4578b7
mov eax, dword [ebp - 0x68]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x54fba0]
cmp eax, edx
je 0x4578c9
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x45786a
cmp word [ebp - 0x82], 0x8b
jne 0x4578e4
mov edx, 0x548d00
mov eax, dword [ebp - 0x68]
add eax, 2
call fcn.0044e408
call fcn.004565ac
lea edx, [ebp - 0x84]
call fcn.0041cb40
jmp 0x457917
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x84], 0
je 0x457955
cmp word [ebp - 0x82], 0xff
jne 0x457943
cmp byte [ebp - 0x80], 0x15
jne 0x457943
mov eax, dword [ebp - 0x68]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x54fba0]
cmp eax, edx
je 0x457955
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x4578f6
cmp word [ebp - 0x82], 0xff
jne 0x457970
mov edx, 0x548d04
mov eax, dword [ebp - 0x68]
add eax, 2
call fcn.0044e408
call fcn.004565c0
lea edx, [ebp - 0x84]
call fcn.0041cb40
jmp 0x4579a3
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x84], 0
je 0x4579cf
cmp word [ebp - 0x82], 0xff
jne 0x4579bd
cmp byte [ebp - 0x80], 0x25
je 0x4579cf
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x457982
cmp word [ebp - 0x82], 0xff
jne 0x4579ea
mov edx, 0x548d08
mov eax, dword [ebp - 0x68]
add eax, 2
call fcn.0044e408
call fcn.00456584
mov ebx, eax
lea edx, [ebp - 0x84]
mov eax, ebx
call fcn.0041cb40
jmp 0x457a21
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cb40
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x84], 0
je 0x457a30
cmp byte [ebp - 0x7f], 0
je 0x457a00
mov eax, dword [ebp - 0x7c]
mov dword [0x5484d4], eax
mov edx, 0x454e4c
mov eax, ebx
call fcn.0044e3b8
call fcn.0044ca2c
call fcn.00437d08
push 0
call fcn.0040966c
cmp eax, dword [0x553b20]
jne 0x457a67
mov eax, dword [0x548bdc]
call fcn.00455bb4
movzx eax, byte [ebp - 0x4d]
call fcn.00432a6c
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0x31c]
test al, al
je 0x457a98
mov eax, dword [0x548bdc]
mov edx, dword [eax]
call dword [edx + 0x320]
mov dword [0x548c18], eax
call fcn.00438364
mov esi, 4
mov ebx, 0x554cd4
push 1
push 0x2000
push 0x400000
push 0
call fcn.00409980
mov dword [ebx], eax
push 1
push 0x1000
push 0x80000
push 0
call fcn.00409980
mov dword [ebx + 0x10], eax
add ebx, 4
dec esi
jne 0x457aa2
mov eax, 0x454298
test eax, eax
jmp 0x457b0c
lea eax, [ebp - 4]
call fcn.0042fd28
cmp dword [ebp - 4], 0
je 0x457af6
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x548400], eax
jmp 0x457b02
mov eax, dword [0x5501d0]
mov eax, dword [eax]
mov dword [0x548400], eax
mov eax, 0x548bdc
call fcn.00408714
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x457b60
lea eax, [ebp - 0xd4]
mov edx, 2
call fcn.0040584c
lea eax, [ebp - 0xcc]
call fcn.00408714
lea eax, [ebp - 0x48]
mov edx, dword [0x418b1c]
call fcn.00407120
lea eax, [ebp - 8]
call fcn.00405828
lea eax, [ebp - 4]
mov edx, dword [0x40b65c]
call fcn.00407f38
ret