Function at 0x456c98
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 [0x418c0c]
call fcn.00407100
xor eax, eax
push ebp
push 0x457c71
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov edx, dword [0x40b74c]
call fcn.00407ff0
lea eax, [ebp - 0x58]
push eax
call fcn.00409988
test eax, eax
je 0x456d2d
lea eax, [ebp - 0x60]
push eax
call fcn.00409990
test eax, eax
je 0x456d2d
push 0
push 0x3e8
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
call fcn.00407860
push edx
push eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
call fcn.00407860
mov dword [0x58cca0], eax
mov dword [0x58cca4], edx
push 0x457c80
mov eax, dword [0x58bb20]
push eax
call fcn.0040976c
test eax, eax
setne byte [0x5804a8]
mov eax, dword [0x588350]
mov dword [eax], 0x43874c
mov eax, dword [0x588a24]
mov dword [eax], 0x438cb0
lea edx, [ebp - 0xcc]
mov eax, dword [0x58bb20]
call fcn.0043d7ac
mov edx, dword [ebp - 0xcc]
mov eax, 0x580be0
call fcn.004087e4
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0x308]
test al, al
je 0x456dda
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x456dda
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0x318]
test al, al
je 0x456dda
mov eax, dword [0x58bb20]
call fcn.00456748
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0xc]
cmp eax, dword [0x58bb20]
je 0x456dda
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0xc]
call fcn.00456748
push 0x457cc0
push 0x457cd8
call fcn.0040973c
push eax
call fcn.0040976c
mov dword [0x5804b4], eax
push 0x457cf4
push 0x457d10
call fcn.0040973c
push eax
call fcn.0040976c
mov dword [0x5804b8], eax
call fcn.00456bb0
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0x308]
test al, al
je 0x457bf4
lea edx, [ebp - 0xc8]
lea eax, [ebp - 0xb4]
call fcn.00430d68
lea eax, [ebp - 0xd4]
push eax
call fcn.0040968c
mov cl, 0x30
mov edx, 1
call fcn.0040da34
mov ecx, dword [ebp - 0xd4]
lea eax, [ebp - 0xd0]
mov edx, 0x457d30
call fcn.00405cec
mov eax, dword [ebp - 0xd0]
call fcn.00405f64
push eax
push 0x14
push 0
push 4
lea eax, [ebp - 0xb4]
push eax
push 0xffffffffffffffff
call fcn.004094cc
mov ebx, eax
call fcn.004096fc
test eax, eax
jne 0x456f30
push 0
push 0
push 0
push 0xf001f
push ebx
call fcn.00409948
mov dword [0x5804b0], eax
mov eax, dword [0x5804b0]
mov dword [eax + 0xc], 1
push 0
push 0
push 0
call fcn.004094e4
mov edx, dword [0x5804b0]
mov dword [edx], eax
push 0
push 0
push 0
call fcn.004094e4
mov edx, dword [0x5804b0]
mov dword [edx + 4], eax
mov eax, dword [0x5804b0]
xor edx, edx
mov dword [eax + 8], edx
mov eax, dword [0x5804b0]
mov dword [eax + 0x10], ebx
lea eax, [ebp - 4]
call fcn.0042fe40
cmp dword [ebp - 4], 0
je 0x456f22
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x580404], eax
push 0
push 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, 0x457d54
xor edx, edx
call fcn.0043113c
jmp 0x456f7a
mov eax, dword [0x588a84]
mov eax, dword [eax]
mov dword [0x580404], eax
jmp 0x456f7a
test ebx, ebx
je 0x456f60
push 0
push 0
push 0
push 0xf001f
push ebx
call fcn.00409948
mov dword [0x5804b0], eax
push ebx
call fcn.00409474
mov eax, dword [0x5804b0]
add eax, 0xc
push eax
call fcn.0040964c
jmp 0x456f7a
push 0
push 0x457d60
push 0x457d6c
push 0
call fcn.0040a230
push 0
call fcn.0040958c
cmp dword [0x5804b0], 0
jne 0x456f9d
push 0
push 0x457d60
push 0x457d94
push 0
call fcn.0040a230
push 0
call fcn.0040958c
cmp dword [0x580404], 0
jne 0x457017
push 0xffffffffffffffff
mov eax, dword [0x5804b0]
mov eax, dword [eax + 4]
push eax
call fcn.00409a98
xor edx, edx
push ebp
push 0x456ffb
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [0x5804b0]
mov eax, dword [eax + 8]
test eax, eax
je 0x456fdf
mov edx, dword [eax]
mov dword [0x580404], edx
mov eax, dword [eax + 8]
test eax, eax
jne 0x456fd0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x457002
mov eax, dword [0x5804b0]
mov eax, dword [eax + 4]
push eax
call fcn.004099b0
ret
push 0
call fcn.0040973c
cmp eax, dword [0x58bb20]
je 0x457033
cmp byte [0x5804a8], 0
jne 0x457033
xor eax, eax
jmp 0x457035
mov al, 1
mov byte [ebp - 0x4d], al
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0x30c]
test al, al
je 0x457beb
mov eax, 0x580450
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580454
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580458
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x58045c
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580460
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580464
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580468
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x58046c
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580470
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580474
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580478
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x58047c
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580480
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580484
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580488
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x58048c
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580490
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580494
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x580498
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x58049c
mov edx, dword [0x58bb20]
call fcn.0045666c
mov eax, 0x5804a0
mov edx, dword [0x58bb20]
call fcn.0045666c
cmp dword [0x580484], 0
je 0x4571bc
cmp dword [0x580450], 0
je 0x4571bc
cmp dword [0x580458], 0
jne 0x4574be
cmp byte [ebp - 0x4d], 0
je 0x4574be
mov ebx, 0x4088f8
cmp word [ebx], 0x25ff
jne 0x4571f6
add ebx, 2
mov eax, dword [ebx]
mov ebx, dword [eax]
lea ecx, [ebp - 8]
lea edx, [ebp - 0x4c]
mov eax, ebx
call fcn.004171a0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [0x58bb20]
jne 0x4571f6
xor eax, eax
mov dword [ebp - 0x4c], eax
push 0x457dd0
mov ecx, 0x78
mov edx, 0x457e18
mov eax, dword [ebp - 0x4c]
call fcn.0045690c
mov esi, eax
cmp dword [ebp - 0x4c], 0
jne 0x45722e
push 0x457e28
mov ecx, 0x78
mov edx, 0x457e48
mov eax, esi
call fcn.0045690c
mov dword [ebp - 0x4c], eax
push 0x457e58
mov ecx, 0x78
mov edx, 0x457ea0
xor eax, eax
call fcn.0045690c
mov edi, eax
cmp dword [0x580484], 0
jne 0x45745e
cmp dword [ebp - 0x4c], 0
je 0x45745e
push 0x457eac
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0040976c
mov dword [0x580460], eax
cmp dword [0x580460], 0
je 0x457453
mov eax, dword [0x580460]
cmp byte [eax], 0xe9
je 0x457453
push 0x457f0c
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0040976c
mov dword [0x580464], eax
push 0x457f68
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0040976c
mov dword [0x580468], eax
push 0x457fac
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0040976c
mov dword [0x58046c], eax
push 0x457fec
mov eax, dword [ebp - 0x4c]
push eax
call fcn.0040976c
lea edx, [ebp - 0x84]
call fcn.0041cc30
mov bl, 1
jmp 0x457439
cmp dword [ebp - 0x7c], 0
je 0x457414
cmp byte [ebp - 0x7d], 0
je 0x457414
cmp dword [ebp - 0x70], 4
jne 0x457414
test bl, bl
je 0x457395
xor ebx, ebx
lea edx, [ebp - 0xa8]
mov eax, dword [ebp - 0x7c]
call fcn.0041cc30
jmp 0x45737b
cmp word [ebp - 0xa6], 0xc7
jne 0x457353
cmp byte [ebp - 0xa4], 0x40
jne 0x457353
mov eax, dword [ebp - 0x88]
sub eax, 5
cmp byte [eax], 4
jne 0x457353
mov eax, dword [ebp - 0x88]
sub eax, 4
mov eax, dword [eax]
mov dword [0x580484], eax
jmp 0x457414
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x88]
call fcn.0041cc30
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 0x457414
cmp word [ebp - 0xa6], 0xc3
jne 0x45731c
jmp 0x457414
mov eax, dword [ebp - 0x7c]
mov dword [0x58047c], eax
lea edx, [ebp - 0x84]
mov eax, dword [0x58047c]
call fcn.0041cc30
jmp 0x4573fe
cmp dword [ebp - 0x7c], 0
je 0x4573d9
cmp word [ebp - 0x82], 0xe8
jne 0x4573d9
cmp byte [ebp - 0x7d], 0
je 0x4573d9
cmp dword [ebp - 0x70], 4
jne 0x4573d9
mov eax, dword [ebp - 0x7c]
mov dword [0x580480], eax
jmp 0x45745e
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x45745e
cmp word [ebp - 0x82], 0xc3
jne 0x4573af
jmp 0x45745e
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x45745e
cmp word [ebp - 0x82], 0xc3
jne 0x4572e4
jmp 0x45745e
mov byte [ebp - 0x4d], 0
xor eax, eax
mov dword [0x580460], eax
cmp byte [ebp - 0x4d], 0
je 0x4574be
cmp dword [0x580450], 0
jne 0x457491
test esi, esi
je 0x457491
push 0x458074
push esi
call fcn.0040976c
mov dword [0x580450], eax
push 0x4580e8
push esi
call fcn.0040976c
mov dword [0x580454], eax
cmp dword [0x580458], 0
jne 0x4574be
test edi, edi
je 0x4574be
push 0x458160
push edi
call fcn.0040976c
mov dword [0x580458], eax
push 0x4581d4
push edi
call fcn.0040976c
mov dword [0x58045c], eax
mov eax, dword [0x5883fc]
mov dword [0x580d00], eax
cmp dword [0x580484], 0
je 0x4574e0
mov edx, 0x454f00
mov eax, dword [0x580484]
call fcn.0044e4d0
cmp dword [0x580450], 0
je 0x4574f8
mov edx, 0x453fc0
mov eax, dword [0x580450]
call fcn.0044e4d0
cmp dword [0x580454], 0
je 0x457510
mov edx, 0x453f98
mov eax, dword [0x580454]
call fcn.0044e4d0
cmp dword [0x580458], 0
je 0x457528
mov edx, 0x453fc0
mov eax, dword [0x580458]
call fcn.0044e4d0
cmp dword [0x58045c], 0
je 0x457540
mov edx, 0x453f98
mov eax, dword [0x58045c]
call fcn.0044e4d0
cmp dword [0x580460], 0
je 0x457558
mov edx, 0x453f6c
mov eax, dword [0x580460]
call fcn.0044e4d0
cmp dword [0x580470], 0
je 0x457570
mov edx, 0x454004
mov eax, dword [0x580470]
call fcn.0044e4d0
cmp dword [0x580474], 0
je 0x457588
mov edx, 0x45402c
mov eax, dword [0x580474]
call fcn.0044e4d0
cmp dword [0x580478], 0
je 0x4575b2
mov byte [0x580444], 1
mov eax, 0x18
call fcn.00403108
mov dword [0x580d10], eax
mov eax, dword [0x580d10]
push eax
call fcn.004098f8
cmp dword [0x580464], 0
je 0x457684
cmp dword [0x580468], 0
je 0x457684
lea edx, [ebp - 0x48]
mov eax, dword [0x580464]
call fcn.0041df14
mov eax, dword [ebp - 0x28]
call fcn.00407d08
dec eax
jne 0x4575ef
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x580464], eax
lea edx, [ebp - 0x48]
mov eax, dword [0x580468]
call fcn.0041df14
mov eax, dword [ebp - 0x28]
call fcn.00407d08
dec eax
jne 0x457612
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0xc]
mov dword [0x580468], eax
lea edx, [ebp - 0x84]
mov eax, dword [0x580464]
call fcn.0041cc30
jmp 0x457672
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x457651
cmp ebx, dword [0x580468]
jne 0x457651
cmp dword [ebp - 0x70], 4
jne 0x457684
cmp byte [ebp - 0x7d], 0
je 0x457684
mov edx, 0x454804
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e520
jmp 0x457684
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x457624
cmp dword [0x58046c], 0
je 0x457712
mov ebx, fcn.004031cc
cmp word [ebx], 0x25ff
jne 0x4576a4
add ebx, 2
mov eax, dword [ebx]
mov ebx, dword [eax]
lea edx, [ebp - 0x84]
mov eax, dword [0x58046c]
call fcn.0041cc30
jmp 0x457700
mov esi, dword [ebp - 0x7c]
test esi, esi
je 0x4576df
cmp ebx, esi
jne 0x4576df
cmp dword [ebp - 0x70], 4
jne 0x457712
cmp byte [ebp - 0x7d], 0
je 0x457712
mov edx, 0x4546c0
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e520
jmp 0x457712
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x4576b6
call fcn.00456688
lea edx, [ebp - 0x84]
call fcn.0041cc30
xor ebx, ebx
jmp 0x457771
cmp byte [ebp - 0x7d], 0
je 0x457750
cmp dword [ebp - 0x70], 4
jne 0x457750
cmp dword [ebp - 0x7c], 0
je 0x457750
test bl, bl
je 0x45774e
mov edx, 0x45471c
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e520
jmp 0x457783
mov bl, 1
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x457726
call fcn.00456688
lea edx, [ebp - 0x84]
call fcn.0041cc30
jmp 0x4577e3
mov ebx, dword [ebp - 0x7c]
test ebx, ebx
je 0x4577c2
cmp ebx, dword [0x580480]
jne 0x4577c2
cmp dword [ebp - 0x70], 4
jne 0x4577f5
cmp byte [ebp - 0x7d], 0
je 0x4577f5
mov edx, 0x45488c
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e520
jmp 0x4577f5
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x457795
mov ebx, dword [0x58047c]
test ebx, ebx
je 0x457873
cmp dword [0x580480], 0
je 0x457873
lea edx, [ebp - 0x84]
mov eax, ebx
call fcn.0041cc30
jmp 0x457861
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x580480]
jne 0x457840
cmp dword [ebp - 0x70], 4
jne 0x457873
cmp byte [ebp - 0x7d], 0
je 0x457873
mov edx, 0x45488c
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e520
jmp 0x457873
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x457817
mov ebx, dword [0x580480]
test ebx, ebx
je 0x4578e8
lea edx, [ebp - 0x84]
mov eax, ebx
call fcn.0041cc30
jmp 0x4578d6
mov eax, dword [ebp - 0x7c]
cmp eax, dword [0x580480]
jne 0x4578b5
cmp dword [ebp - 0x70], 4
jne 0x4578e8
cmp byte [ebp - 0x7d], 0
je 0x4578e8
mov edx, 0x45488c
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e520
jmp 0x4578e8
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x45788c
lea edx, [ebp - 0x84]
mov eax, fcn.004045f8
call fcn.0041cc30
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x457903
mov ebx, eax
jmp 0x457908
mov ebx, fcn.004045f8
call fcn.00456674
lea edx, [ebp - 0x84]
call fcn.0041cc30
jmp 0x45795e
cmp ebx, dword [ebp - 0x7c]
jne 0x45793d
cmp dword [ebp - 0x70], 4
jne 0x457970
cmp byte [ebp - 0x7d], 0
je 0x457970
mov edx, 0x45520c
sub edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x78]
call fcn.0044e520
jmp 0x457970
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
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 0x45791a
call fcn.004566b0
lea edx, [ebp - 0x84]
call fcn.0041cc30
jmp 0x4579a3
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x84], 0
je 0x4579e1
cmp word [ebp - 0x82], 0x8b
jne 0x4579cf
cmp byte [ebp - 0x80], 0x15
jne 0x4579cf
mov eax, dword [ebp - 0x68]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x5883fc]
cmp eax, edx
je 0x4579e1
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x457982
cmp word [ebp - 0x82], 0x8b
jne 0x4579fc
mov edx, 0x580d04
mov eax, dword [ebp - 0x68]
add eax, 2
call fcn.0044e520
call fcn.004566c4
lea edx, [ebp - 0x84]
call fcn.0041cc30
jmp 0x457a2f
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x84], 0
je 0x457a6d
cmp word [ebp - 0x82], 0xff
jne 0x457a5b
cmp byte [ebp - 0x80], 0x15
jne 0x457a5b
mov eax, dword [ebp - 0x68]
add eax, 2
mov eax, dword [eax]
mov edx, dword [0x5883fc]
cmp eax, edx
je 0x457a6d
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x457a0e
cmp word [ebp - 0x82], 0xff
jne 0x457a88
mov edx, 0x580d08
mov eax, dword [ebp - 0x68]
add eax, 2
call fcn.0044e520
call fcn.004566d8
lea edx, [ebp - 0x84]
call fcn.0041cc30
jmp 0x457abb
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x84], 0
je 0x457ae7
cmp word [ebp - 0x82], 0xff
jne 0x457ad5
cmp byte [ebp - 0x80], 0x25
je 0x457ae7
movzx eax, word [ebp - 0x82]
add eax, 0xffffff3e
sub ax, 2
jae 0x457a9a
cmp word [ebp - 0x82], 0xff
jne 0x457b02
mov edx, 0x580d0c
mov eax, dword [ebp - 0x68]
add eax, 2
call fcn.0044e520
call fcn.0045669c
mov ebx, eax
lea edx, [ebp - 0x84]
mov eax, ebx
call fcn.0041cc30
jmp 0x457b39
lea edx, [ebp - 0xf8]
mov eax, dword [ebp - 0x64]
call fcn.0041cc30
lea esi, [ebp - 0xf8]
lea edi, [ebp - 0x84]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x84], 0
je 0x457b48
cmp byte [ebp - 0x7f], 0
je 0x457b18
mov eax, dword [ebp - 0x7c]
mov dword [0x5804d8], eax
mov edx, 0x454f64
mov eax, ebx
call fcn.0044e4d0
call fcn.0044cb44
call fcn.00437e20
push 0
call fcn.0040973c
cmp eax, dword [0x58bb20]
jne 0x457b7f
mov eax, dword [0x580be0]
call fcn.00455ccc
movzx eax, byte [ebp - 0x4d]
call fcn.00432b84
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0x31c]
test al, al
je 0x457bb0
mov eax, dword [0x580be0]
mov edx, dword [eax]
call dword [edx + 0x320]
mov dword [0x580c1c], eax
call fcn.0043847c
mov esi, 4
mov ebx, 0x58ccd4
push 1
push 0x2000
push 0x400000
push 0
call fcn.00409a68
mov dword [ebx], eax
push 1
push 0x1000
push 0x80000
push 0
call fcn.00409a68
mov dword [ebx + 0x10], eax
add ebx, 4
dec esi
jne 0x457bba
mov eax, 0x4543b0
test eax, eax
jmp 0x457c24
lea eax, [ebp - 4]
call fcn.0042fe40
cmp dword [ebp - 4], 0
je 0x457c0e
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [0x580404], eax
jmp 0x457c1a
mov eax, dword [0x588a84]
mov eax, dword [eax]
mov dword [0x580404], eax
mov eax, 0x580be0
call fcn.004087cc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x457c78
lea eax, [ebp - 0xd4]
mov edx, 2
call fcn.004058cc
lea eax, [ebp - 0xcc]
call fcn.004087cc
lea eax, [ebp - 0x48]
mov edx, dword [0x418c0c]
call fcn.004071d8
lea eax, [ebp - 8]
call fcn.004058a8
lea eax, [ebp - 4]
mov edx, dword [0x40b74c]
call fcn.00407ff0
ret