Function at 0x579270
Capabilities:
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0x4fc]
sub esp, 0x4fc
push 0xffffffffffffffff
push 0x641320
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
mov eax, dword [0x7151ac]
xor eax, ebp
mov dword [ebp + 0x4f8], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 0x504]
mov eax, dword [ebp + 0x50c]
mov ecx, dword [ebp + 0x510]
mov dword [ebp - 0x2c], eax
cmp dword [edi + 0x10], 0
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x28], ecx
je 0x57be5a
cmp dword [0x714840], 0
je 0x579322
cmp dword [0x747fb0], 0
je 0x579322
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x579322
push 0x6add98
push 0x66eb04
push 0x6add8c
push 0x250
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x579322
mov byte [0x747ee0], 0
int3
xor eax, eax
mov dword [ebp + 0x4c8], 0
mov dword [ebp + 0x4cc], 7
mov word [ebp + 0x4b8], ax
mov dword [ebp + 0x4d0], eax
mov dword [ebp - 4], eax
mov dword [ebp + 0x4e8], eax
mov dword [ebp + 0x4ec], 7
mov word [ebp + 0x4d8], ax
mov dword [ebp + 0x4f0], eax
mov dword [ebp + 0x4a8], eax
mov dword [ebp + 0x4ac], 7
mov word [ebp + 0x498], ax
mov dword [ebp + 0x4b0], eax
mov dword [ebp + 0x488], eax
mov dword [ebp + 0x48c], 7
mov word [ebp + 0x478], ax
mov dword [ebp + 0x490], eax
push 7
lea eax, [ebp + 0xd8]
mov byte [ebp - 4], 3
push eax
mov ecx, edi
call fcn.0054b070
push 0x6ade00
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0054cd40
lea ecx, [ebp + 0xd8]
mov byte [ebp - 4], 3
mov esi, eax
call fcn.0040d530
mov ebx, dword [ebp + 0x508]
mov dword [ebp - 0x18], ebx
test esi, esi
jne 0x57970c
mov edi, dword [ebp + 0x4e8]
mov esi, 0x100
cmp edi, esi
ja 0x579421
mov eax, dword [ebp + 0x4ec]
cmp eax, esi
jae 0x579421
mov byte [ebp - 0x114], 0
lea ecx, [ebp + 0x4d8]
push dword [ebp - 0x114]
mov eax, esi
sub eax, edi
push eax
call fcn.00419c10
mov dword [ebp + 0x4e8], edi
mov edi, dword [ebp + 0x4a8]
cmp edi, esi
ja 0x579455
mov eax, dword [ebp + 0x4ac]
cmp eax, 0x100
jae 0x579455
mov byte [ebp - 0x7c], 0
lea ecx, [ebp + 0x498]
push dword [ebp - 0x7c]
mov eax, esi
sub eax, edi
push eax
call fcn.00419c10
mov dword [ebp + 0x4a8], edi
mov edi, dword [ebp + 0x488]
cmp edi, esi
ja 0x579487
mov eax, dword [ebp + 0x48c]
cmp eax, 0x100
jae 0x579487
mov byte [ebp - 0x30], 0
lea ecx, [ebp + 0x478]
push dword [ebp - 0x30]
sub esi, edi
push esi
call fcn.00419c10
mov dword [ebp + 0x488], edi
mov eax, dword [ebp - 0x50]
mov esi, eax
cmp dword [eax + 0x14], 8
jb 0x579494
mov esi, dword [eax]
movzx eax, word [esi + 0xe]
add esi, 0xe
mov edx, eax
test ax, ax
je 0x5794cc
mov ecx, eax
movzx edx, cx
cmp cx, 0x23
je 0x5794cc
movzx eax, cx
lea ecx, [ebp + 0x4b8]
push eax
call fcn.0041a450
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x5794a4
test dx, dx
je 0x5794d6
add esi, 2
jmp 0x579511
cmp dword [0x714840], 0
je 0x579511
push 0x6ade10
push 0x64d658
push 0x6add8c
push 0x274
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x579511
mov byte [0x747ee0], 0
int3
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x579548
mov ecx, eax
nop dword [eax]
movzx edx, cx
cmp cx, 0x23
je 0x579548
movzx eax, cx
lea ecx, [ebp + 0x4d8]
push eax
call fcn.0041a450
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x579520
test dx, dx
je 0x579552
add esi, 2
jmp 0x57958d
cmp dword [0x714840], 0
je 0x57958d
push 0x6ade10
push 0x64d658
push 0x6add8c
push 0x283
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57958d
mov byte [0x747ee0], 0
int3
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x5795c8
mov ecx, eax
nop dword [eax]
movzx edx, cx
cmp cx, 0x23
je 0x5795c8
movzx eax, cx
lea ecx, [ebp + 0x498]
push eax
call fcn.0041a450
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
mov edx, eax
test ax, ax
jne 0x5795a0
test dx, dx
je 0x5795d2
add esi, 2
jmp 0x57960d
cmp dword [0x714840], 0
je 0x57960d
push 0x6ade10
push 0x64d658
push 0x6add8c
push 0x292
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57960d
mov byte [0x747ee0], 0
int3
movzx eax, word [esi]
test ax, ax
je 0x57963d
mov ecx, eax
nop word [eax + eax]
movzx eax, cx
lea ecx, [ebp + 0x478]
push eax
call fcn.0041a450
movzx eax, word [esi + 2]
lea esi, [esi + 2]
mov ecx, eax
test ax, ax
jne 0x579620
test bl, 1
jne 0x57972f
cmp dword [0x747fb0], 0
je 0x57966a
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x57966a
push 0
call fcn.00557eb0
add esp, 4
mov bl, al
jmp 0x579677
mov bl, byte [0x7148b4]
mov byte [0x7148b4], 0
mov byte [ebp - 0x24], bl
mov byte [ebp - 0x19], bl
lea eax, [ebp + 0x478]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp + 0x498]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.0057bec0
add esp, 0xc
test al, al
je 0x5796dd
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 6
je 0x5796cf
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x5796cf
push dword [ebp - 0x24]
call fcn.00557eb0
add esp, 4
or ebx, 0xffffffff
jmp 0x57be2a
mov byte [0x7148b4], bl
or ebx, 0xffffffff
jmp 0x57be2a
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 7
je 0x579704
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x579704
push dword [ebp - 0x24]
call fcn.00557eb0
add esp, 4
jmp 0x57972f
mov byte [0x7148b4], bl
jmp 0x57972f
lea eax, [ebp + 0x4b8]
cmp eax, edi
je 0x57972f
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x579720
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp + 0x4b8]
push eax
call fcn.0040f630
or esi, 0xffffffff
mov dword [ebp - 0x20], 0
or edi, esi
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x4c], edi
or ebx, esi
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x2c]
mov ecx, dword [0x64c378]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x34], ecx
test eax, eax
je 0x5797aa
mov al, byte [eax + 0x58]
test al, al
je 0x5797aa
lea ecx, [ebp - 0x4c]
call fcn.00577f00
test al, al
je 0x5799ec
lea ecx, [ebp - 0x44]
call fcn.00577f00
test al, al
je 0x5799ec
lea ecx, [ebp - 0x3c]
call fcn.00577f00
test al, al
je 0x5799ec
mov esi, dword [ebp - 0x48]
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x40]
mov dword [ebp - 0x20], 1
push 0x44
lea eax, [ebp - 0x2cc]
push 0
push eax
call fcn.005ed090
mov ecx, dword [ebp - 0x20]
add esp, 0xc
mov dword [ebp - 0x2cc], 0x44
test ecx, ecx
je 0x579fe7
mov eax, dword [ebp - 0x38]
push 0
push 1
mov dword [ebp - 0x294], edi
mov edi, dword [0x64c310]
push esi
mov dword [ebp - 0x2a0], 0x100
mov dword [ebp - 0x290], ebx
mov dword [ebp - 0x28c], eax
call edi
test eax, eax
jne 0x5798f5
sub esp, 0x20
mov ecx, esp
push 0x650c44
call fcn.0040cef0
push 6
call fcn.004170d0
add esp, 0x24
test al, al
je 0x5798f5
call fcn.0054af50
mov dword [ebp - 0x148], eax
mov byte [ebp - 4], 0x11
call fcn.0054af50
mov dword [ebp - 0x144], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x12
push 0x650ca8
push eax
call fcn.0040e0a0
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x138], 0
sub esp, 0x14
mov byte [ebp - 4], 0x13
mov esi, esp
mov dword [ebp - 0x10], esp
call fcn.00559190
push eax
push esi
call fcn.005591a0
add esp, 8
push 0x650c44
push 0x6add8c
push 0x2df
push 0x6ad7d8
push 6
lea ecx, [ebp + 0x48]
mov byte [ebp - 4], 0x14
call fcn.00415fb0
mov esi, eax
mov byte [ebp - 4], 0x15
call fcn.00559190
push eax
push 0x6ade80
push 0x2df
push 0x6ad7d8
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x16
push eax
mov ecx, esi
call fcn.00415310
lea ecx, [ebp + 0x70]
call fcn.0040d530
lea ecx, [ebp + 0x50]
call fcn.0040d400
lea ecx, [ebp - 0x148]
mov byte [ebp - 4], 0xa
call fcn.0040d210
push 0
push 1
push dword [ebp - 0x44]
call edi
test eax, eax
jne 0x579cba
mov eax, dword [0x747f2c]
test eax, eax
jne 0x579919
call fcn.00550990
mov dword [0x747f2c], eax
push eax
lea eax, [ebp - 0x24]
push 0x650c44
push eax
call fcn.0040e820
add esp, 0xc
mov eax, dword [eax]
mov byte [ebp - 4], 0x17
mov edx, dword [eax]
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x1a0], 0
mov dword [ebp - 0x19c], 7
mov word [ebp - 0x1b0], ax
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x579955
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x1b0]
call fcn.0040f630
mov byte [ebp - 4], 0x18
call fcn.0054af50
mov ecx, dword [ebp - 0x24]
cmp ecx, eax
je 0x5799b6
mov eax, 0xffff
add word [ecx + 8], ax
jne 0x5799ae
mov esi, dword [ebp - 0x24]
test esi, esi
je 0x5799ae
cmp byte [esi + 0xa], 0
je 0x5799a3
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x198], 0
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 0x19
je 0x579b49
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x579b49
call fcn.00558af0
jmp 0x579b4e
sub esp, 0x20
mov ecx, esp
push 0x650c44
call fcn.0040cef0
push 1
call fcn.004170d0
add esp, 0x24
test al, al
je 0x579b38
push 0x6ade58
lea ecx, [ebp + 0x118]
call fcn.0040cef0
xor eax, eax
mov dword [ebp + 0x1c8], 0
mov dword [ebp + 0x1cc], 7
mov word [ebp + 0x1b8], ax
mov dword [ebp + 0x1d0], eax
mov dword [ebp + 0x1a8], eax
mov dword [ebp + 0x1ac], 7
mov word [ebp + 0x198], ax
mov dword [ebp + 0x1b0], eax
lea eax, [ebp + 0x1b8]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp + 0x198]
push eax
lea eax, [ebp + 0x118]
push eax
call fcn.0041b810
add esp, 0xc
lea ecx, [ebp - 0x288]
push eax
call fcn.00419ed0
push 0x651430
lea ecx, [ebp + 0xf8]
mov byte [ebp - 4], 0xe
call fcn.0040cef0
push 0x650c44
push 0x6add8c
push 0x2bd
push 0x6ad7d8
push 1
lea ecx, [ebp]
mov byte [ebp - 4], 0xf
call fcn.00415fb0
mov esi, eax
mov byte [ebp - 4], 0x10
call fcn.00559190
push eax
lea eax, [ebp + 0xf8]
mov ecx, esi
push eax
call fcn.00418e60
lea ecx, [ebp - 0x288]
mov esi, eax
call fcn.005520c0
push eax
push esi
call fcn.0040e2e0
add esp, 8
lea ecx, [ebp + 0x28]
call fcn.0040d530
lea ecx, [ebp + 8]
call fcn.0040d400
lea ecx, [ebp + 0xf8]
call fcn.0040d530
lea ecx, [ebp - 0x288]
call fcn.0040d210
lea ecx, [ebp + 0x198]
call fcn.0040d530
lea ecx, [ebp + 0x1b8]
call fcn.0040d530
lea ecx, [ebp + 0x118]
call fcn.0040d530
mov ebx, dword [ebp - 0x18]
not ebx
and ebx, 1
dec ebx
mov dword [ebp - 0x18], ebx
jmp 0x57bdc6
mov al, byte [0x7148b4]
test al, al
je 0x579b74
sub esp, 0x20
lea eax, [ebp - 0x1b0]
mov ecx, esp
push eax
call fcn.00412e20
call fcn.00558460
add esp, 0x20
cmp eax, 6
jb 0x579b74
mov bl, 1
jmp 0x579b76
xor bl, bl
lea ecx, [ebp - 0x1b0]
mov byte [ebp - 4], 0xa
call fcn.0040d530
test bl, bl
je 0x579cba
call fcn.0054af50
mov dword [ebp - 0x15c], eax
mov byte [ebp - 4], 0x1a
call fcn.0054af50
mov dword [ebp - 0x158], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x1b
push 0x650ca8
push eax
call fcn.0040e0a0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
sub esp, 0x14
mov byte [ebp - 4], 0x1c
mov esi, esp
mov dword [ebp - 0x10], esp
call fcn.00559190
push eax
push esi
call fcn.005591a0
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 4], 0x1d
mov dword [ebp + 0x260], 6
mov dword [ebp + 0x268], 0x6ad7d8
mov dword [ebp + 0x270], 0x6add8c
mov dword [ebp + 0x26c], 0x2e3
mov dword [ebp + 0x274], 0x650c44
movlpd qword [ebp + 0x278], xmm0
call fcn.005561f0
mov dword [ebp + 0x280], eax
xor eax, eax
mov dword [ebp + 0x284], 0
mov dword [ebp + 0x298], 0
mov dword [ebp + 0x29c], 7
mov word [ebp + 0x288], ax
mov dword [ebp + 0x2a0], eax
mov byte [ebp - 4], 0x1e
call fcn.00559190
push eax
push 0x6adebc
push 0x2e3
push 0x6ad7d8
lea eax, [ebp - 0x15c]
mov byte [ebp - 4], 0x1f
push eax
lea ecx, [ebp + 0x260]
call fcn.00415310
lea ecx, [ebp + 0x288]
call fcn.0040d530
lea ecx, [ebp + 0x268]
call fcn.0040d400
lea ecx, [ebp - 0x15c]
mov byte [ebp - 4], 0xa
call fcn.0040d210
push 0
push 1
push dword [ebp - 0x3c]
call edi
test eax, eax
jne 0x579fe4
mov eax, dword [0x747f2c]
test eax, eax
jne 0x579cde
call fcn.00550990
mov dword [0x747f2c], eax
push eax
lea eax, [ebp - 0x6c]
push 0x650c44
push eax
call fcn.0040e820
add esp, 0xc
mov eax, dword [eax]
mov byte [ebp - 4], 0x20
mov edx, dword [eax]
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 7
mov word [ebp - 0x190], ax
lea esi, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x579d20
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x190]
call fcn.0040f630
mov byte [ebp - 4], 0x21
call fcn.0054af50
mov ecx, dword [ebp - 0x6c]
mov edi, 0xffff
cmp ecx, eax
je 0x579d7e
add word [ecx + 8], di
jne 0x579d79
mov esi, dword [ebp - 0x6c]
test esi, esi
je 0x579d79
cmp byte [esi + 0xa], 0
je 0x579d6e
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x178], 0
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 0x22
je 0x579da9
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x579da9
call fcn.00558af0
jmp 0x579dae
mov al, byte [0x7148b4]
test al, al
je 0x579dd4
sub esp, 0x20
lea eax, [ebp - 0x190]
mov ecx, esp
push eax
call fcn.00412e20
call fcn.00558460
add esp, 0x20
cmp eax, 6
jb 0x579dd4
mov bl, 1
jmp 0x579dd6
xor bl, bl
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0xa
call fcn.0040d530
test bl, bl
je 0x579fe4
call fcn.0054af50
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 0x23
call fcn.0054af50
mov dword [ebp - 0xb8], eax
push 0xffffffffffffffff
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 0x24
push 0x650ca8
push eax
call fcn.0040e0a0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
sub esp, 0x14
mov byte [ebp - 4], 0x25
mov esi, esp
mov dword [ebp - 0x10], esp
call fcn.00559190
push eax
push esi
call fcn.005591a0
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 4], 0x26
mov dword [ebp + 0x218], 6
mov dword [ebp + 0x220], 0x6ad7d8
mov dword [ebp + 0x228], 0x6add8c
mov dword [ebp + 0x224], 0x2e7
mov dword [ebp + 0x22c], 0x650c44
movlpd qword [ebp + 0x230], xmm0
call fcn.005561f0
mov dword [ebp + 0x238], eax
xor eax, eax
mov dword [ebp + 0x23c], 0
mov dword [ebp + 0x250], 0
mov dword [ebp + 0x254], 7
mov word [ebp + 0x240], ax
mov dword [ebp + 0x258], eax
mov byte [ebp - 4], 0x27
call fcn.00559190
push eax
push 0x6adef8
push 0x2e7
push 0x6ad7d8
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp + 0x218]
call fcn.00415310
lea ecx, [ebp + 0x240]
call fcn.0040d530
lea ecx, [ebp + 0x220]
call fcn.0040d400
mov byte [ebp - 4], 0x29
call fcn.0054af50
mov ecx, dword [ebp - 0xb4]
cmp ecx, eax
je 0x579f54
add word [ecx + 8], di
jne 0x579f49
mov esi, dword [ebp - 0xb4]
test esi, esi
je 0x579f49
cmp byte [esi + 0xa], 0
je 0x579f3e
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xb4], eax
mov byte [ebp - 4], 0x2a
call fcn.0054af50
mov ecx, dword [ebp - 0xb8]
cmp ecx, eax
je 0x579f9d
add word [ecx + 8], di
jne 0x579f92
mov esi, dword [ebp - 0xb8]
test esi, esi
je 0x579f92
cmp byte [esi + 0xa], 0
je 0x579f87
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xb8], eax
mov byte [ebp - 4], 0x2b
call fcn.0054af50
mov ecx, dword [ebp - 0xbc]
cmp ecx, eax
je 0x579fe0
add word [ecx + 8], di
jne 0x579fdb
mov esi, dword [ebp - 0xbc]
test esi, esi
je 0x579fdb
cmp byte [esi + 0xa], 0
je 0x579fd0
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
test al, 0x20
jne 0x579ff6
test ecx, ecx
je 0x57a006
test al, 2
jne 0x57a006
or dword [ebp - 0x2a0], 1
xor ecx, ecx
mov word [ebp - 0x29c], cx
mov ebx, eax
and ebx, 4
shl ebx, 7
or ebx, 0x4000004
call fcn.0054af50
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 0x2c
call fcn.0054af50
mov esi, eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x80], esi
mov edi, dword [ebp - 0x28]
mov byte [ebp - 4], 0x2d
mov byte [ebp - 0x19], 0
test edi, edi
je 0x57a352
cmp dword [edi + 0x10], 0
setne byte [ebp - 0x19]
cmp dword [edi + 0x28], 0
je 0x57a352
mov ecx, dword [ebp - 0x28]
or ebx, 0x400
mov edi, dword [edi + 0x20]
xor eax, eax
mov dword [ebp - 0x7c], ebx
mov ebx, 1
mov ecx, dword [ecx + 0x24]
test ecx, ecx
je 0x57a07c
nop
mov edx, dword [edi + eax*4]
test edx, edx
jne 0x57a082
inc eax
cmp eax, ecx
jb 0x57a070
xor edx, edx
test edx, edx
je 0x57a0da
mov esi, dword [ebp - 0x28]
mov eax, dword [edx + 0x34]
lea edi, [edx + 4]
add eax, dword [edi + 0x10]
add ebx, 2
mov edx, dword [edx]
add ebx, eax
test edx, edx
jne 0x57a085
cmp dword [edi + 0x14], 8
jb 0x57a0a1
mov edi, dword [edi]
push edi
call fcn.00556160
mov ecx, dword [esi + 0x24]
xor edx, edx
div ecx
add esp, 4
inc edx
cmp edx, ecx
jae 0x57a0d1
mov edi, dword [esi + 0x20]
lea eax, [edi + edx*4]
nop dword [eax]
cmp dword [eax], 0
jne 0x57a1b1
inc edx
add eax, 4
cmp edx, ecx
jb 0x57a0c0
xor edx, edx
test edx, edx
jne 0x57a085
mov esi, dword [ebp - 0x30]
cmp dword [0x714840], 0
je 0x57a161
cmp byte [esi + 0xa], 0
jne 0x57a11f
push 0x65d998
push 0x65d9b8
push 0x65d9d0
push 0x140
push 0x65cd00
call fcn.00547810
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57a11f
mov byte [0x747ee0], 0
int3
cmp dword [0x714840], 0
je 0x57a161
cmp word [esi + 8], 1
je 0x57a161
push 0x65d9f4
push 0x65da10
push 0x65d9d0
push 0x141
push 0x65cd00
call fcn.00547810
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57a161
mov byte [0x747ee0], 0
int3
lea eax, [ebx*2 + 2]
push eax
push dword [esi]
call fcn.005f2572
mov edi, eax
add esp, 8
test edi, edi
je 0x57a1c9
xor eax, eax
mov word [edi + ebx*2], ax
call fcn.0054af50
cmp esi, eax
jne 0x57a1c0
push 0xc
call fcn.005ea79f
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
test esi, esi
je 0x57a1b9
mov eax, 1
mov dword [esi], edi
mov dword [esi + 4], ebx
mov word [esi + 8], ax
mov byte [esi + 0xa], al
mov dword [ebp - 0x80], esi
jmp 0x57a1c9
mov edx, dword [edi + edx*4]
jmp 0x57a0d3
xor esi, esi
mov dword [ebp - 0x80], esi
jmp 0x57a1c9
mov dword [esi], edi
mov dword [esi + 4], ebx
mov byte [esi + 0xa], 1
mov edi, dword [ebp - 0x28]
mov eax, dword [esi]
mov dword [ebp - 0x24], eax
xor eax, eax
mov ecx, dword [edi + 0x24]
mov edx, dword [edi + 0x20]
test ecx, ecx
je 0x57a1ec
nop dword [eax]
mov ebx, dword [edx + eax*4]
test ebx, ebx
jne 0x57a200
inc eax
cmp eax, ecx
jb 0x57a1e0
xor ebx, ebx
test ebx, ebx
je 0x57a347
nop word [eax + eax]
lea edi, [ebx + 4]
push 0x6adf34
lea eax, [ebp + 0x158]
mov dword [ebp - 0x30], edi
push edi
push eax
call fcn.005493c0
lea ecx, [edi + 0x20]
mov byte [ebp - 4], 0x2e
push ecx
push eax
lea eax, [ebp + 0x458]
push eax
call fcn.005491d0
push dword [ebp + 0x170]
mov byte [ebp - 4], 0x2d
call fcn.005f1088
mov edx, dword [ebp + 0x16c]
add esp, 0x1c
cmp edx, 8
jb 0x57a27f
mov ecx, dword [ebp + 0x158]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x57a275
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57beba
push edx
push ecx
call fcn.005ea7cf
add esp, 8
mov edi, dword [ebp + 0x468]
lea eax, [ebp + 0x458]
cmp dword [ebp + 0x46c], 8
cmovae eax, dword [ebp + 0x458]
lea edi, [edi*2 + 2]
push edi
push eax
mov eax, dword [ebp - 0x24]
push eax
call fcn.005ec590
push dword [ebp + 0x470]
add dword [ebp - 0x24], edi
call fcn.005f1088
mov edx, dword [ebp + 0x46c]
add esp, 0x10
cmp edx, 8
jb 0x57a2fc
mov ecx, dword [ebp + 0x458]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x57a2f2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x57beba
push edx
push ecx
call fcn.005ea7cf
add esp, 8
mov ebx, dword [ebx]
test ebx, ebx
je 0x57a307
mov edi, dword [ebp - 0x28]
jmp 0x57a33f
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x14], 8
jb 0x57a312
mov eax, dword [eax]
push eax
call fcn.00556160
mov edi, dword [ebp - 0x28]
xor edx, edx
add esp, 4
mov ecx, dword [edi + 0x24]
div ecx
inc edx
cmp edx, ecx
jae 0x57a33d
mov ebx, dword [edi + 0x20]
lea eax, [ebx + edx*4]
cmp dword [eax], 0
jne 0x57a36d
inc edx
add eax, 4
cmp edx, ecx
jb 0x57a330
xor ebx, ebx
test ebx, ebx
jne 0x57a200
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov ebx, dword [ebp - 0x7c]
mov word [eax], cx
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x57a3e9
mov eax, dword [eax + 0x48]
cmp eax, 0x14
ja 0x57a372
or ebx, 0x40
jmp 0x57a3e9
mov ebx, dword [ebx + edx*4]
jmp 0x57a33f
cmp eax, 0x28
ja 0x57a37f
or ebx, 0x4000
jmp 0x57a3e9
cmp eax, 0x3c
jbe 0x57a3e6
cmp eax, 0x50
ja 0x57a391
or ebx, 0x8000
jmp 0x57a3e9
cmp eax, 0x63
ja 0x57a39e
or ebx, 0x80
jmp 0x57a3e9
cmp eax, 0x64
ja 0x57a3ab
or ebx, 0x100
jmp 0x57a3e9
cmp dword [0x714840], 0
je 0x57a3e6
push 0x6a9870
push 0x64d658
push 0x6add8c
push 0x341
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57a3e6
mov byte [0x747ee0], 0
int3
or ebx, 0x20
cmp byte [ebp - 0x19], 0
je 0x57a3f9
cmp dword [edi + 0x14], 8
jb 0x57a3fb
mov edi, dword [edi]
jmp 0x57a3fb
xor edi, edi
cmp dword [ebp + 0x4cc], 8
lea ecx, [ebp - 0x124]
push ecx
lea ecx, [ebp - 0x2cc]
push ecx
push edi
push dword [esi]
mov esi, dword [ebp - 0x20]
lea eax, [ebp + 0x4b8]
cmovae eax, dword [ebp + 0x4b8]
push ebx
push esi
push 0
push 0
push eax
push 0
call dword [0x64c2ec]
mov edi, dword [ebp - 0x34]
test eax, eax
setne bl
test esi, esi
je 0x57a465
mov eax, dword [ebp - 0x4c]
push eax
mov dword [ebp - 0x4c], 0xffffffff
call edi
mov eax, dword [ebp - 0x40]
push eax
mov dword [ebp - 0x40], 0xffffffff
call edi
mov eax, dword [ebp - 0x38]
push eax
mov dword [ebp - 0x38], 0xffffffff
call edi
test bl, bl
jne 0x57a660
test esi, esi
je 0x57a498
mov eax, dword [ebp - 0x48]
push eax
mov dword [ebp - 0x48], 0xffffffff
call edi
mov eax, dword [ebp - 0x44]
push eax
mov dword [ebp - 0x44], 0xffffffff
call edi
mov eax, dword [ebp - 0x3c]
push eax
mov dword [ebp - 0x3c], 0xffffffff
call edi
sub esp, 0x20
mov ecx, esp
push 0x650c44
call fcn.0040cef0
push 1
call fcn.004170d0
add esp, 0x24
test al, al
je 0x57a64f
push 0x6adf38
lea ecx, [ebp + 0x178]
call fcn.0040cef0
xor eax, eax
mov dword [ebp + 0x208], 0
mov dword [ebp + 0x20c], 7
mov word [ebp + 0x1f8], ax
mov dword [ebp + 0x210], eax
mov dword [ebp + 0x1e8], eax
mov dword [ebp + 0x1ec], 7
mov word [ebp + 0x1d8], ax
mov dword [ebp + 0x1f0], eax
mov byte [ebp - 4], 0x31
call fcn.0055d5e0
test eax, eax
je 0x57a538
lea ecx, [ebp + 0x1f8]
push ecx
lea ecx, [ebp + 0x1d8]
push ecx
lea ecx, [ebp + 0x178]
push ecx
mov ecx, eax
call fcn.0055d8f0
mov esi, eax
test esi, esi
jne 0x57a549
lea eax, [ebp + 0x178]
push eax
call fcn.0055df40
add esp, 4
mov esi, eax
call fcn.0054af50
mov dword [ebp - 0x170], eax
mov byte [ebp - 4], 0x32
call fcn.0054af50
mov dword [ebp - 0x16c], eax
mov byte [ebp - 4], 0x33
call fcn.0054af50
mov dword [ebp - 0x168], eax
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x160], 0
push 0x651430
lea ecx, [ebp + 0x138]
mov byte [ebp - 4], 0x34
call fcn.0040cef0
sub esp, 0xc
lea ecx, [ebp + 0x4b8]
mov eax, esp
mov dword [ebp - 0x10], esp
mov dword [eax], ecx
mov dword [eax + 4], 0
mov byte [eax + 8], 0
push 0x650c44
push 0x6add8c
push 0x36c
push 0x6ad7d8
push 1
lea ecx, [ebp + 0x90]
mov byte [ebp - 4], 0x36
call fcn.00415fb0
mov esi, eax
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x170]
push eax
call fcn.00559190
push eax
lea eax, [ebp + 0x138]
mov ecx, esi
push eax
call fcn.00418e60
mov ecx, eax
mov byte [ebp - 4], 0x38
call fcn.004155e0
lea ecx, [ebp + 0xb8]
call fcn.0040d530
lea ecx, [ebp + 0x98]
call fcn.0040d400
lea ecx, [ebp + 0x138]
call fcn.0040d530
lea ecx, [ebp - 0x170]
call fcn.0040d210
lea ecx, [ebp + 0x1d8]
call fcn.0040d530
lea ecx, [ebp + 0x1f8]
call fcn.0040d530
lea ecx, [ebp + 0x178]
call fcn.0040d530
mov ebx, dword [ebp - 0x18]
not ebx
and ebx, 1
dec ebx
mov dword [ebp - 0x18], ebx
jmp 0x57bdbe
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov byte [ebp - 4], 0x3a
test esi, esi
je 0x57a758
push 0x20
call fcn.005ea79f
mov edi, eax
add esp, 4
mov dword [ebp - 0x10], edi
mov byte [ebp - 4], 0x3b
test edi, edi
je 0x57a6c9
mov esi, dword [ebp - 0x44]
mov ecx, edi
mov dword [ebp - 0x44], 0xffffffff
call fcn.0059d680
mov dword [edi], 0x6ad974
mov dword [edi + 0x1c], esi
jmp 0x57a6cb
xor edi, edi
push 0x20
mov byte [ebp - 4], 0x3a
call fcn.005ea79f
mov ebx, eax
add esp, 4
mov dword [ebp - 0x10], ebx
mov byte [ebp - 4], 0x3c
test ebx, ebx
je 0x57a702
mov esi, dword [ebp - 0x3c]
mov ecx, ebx
mov dword [ebp - 0x3c], 0xffffffff
call fcn.0059d680
mov dword [ebx], 0x6ad974
mov dword [ebx + 0x1c], esi
jmp 0x57a704
xor ebx, ebx
push 0x14
mov byte [ebp - 4], 0x3a
call fcn.005ea79f
add esp, 4
mov dword [ebp - 0x10], eax
mov byte [ebp - 4], 0x3d
test eax, eax
je 0x57a731
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, eax
mov dword [ebp - 0x48], 0xffffffff
call fcn.00577340
jmp 0x57a733
xor eax, eax
mov esi, dword [ebp - 0x2c]
mov ecx, esi
push ebx
push eax
push edi
mov byte [ebp - 4], 0x3a
call fcn.005bb9a0
push edi
lea ecx, [ebp - 0x68]
call fcn.00578490
push ebx
lea ecx, [ebp - 0x5c]
call fcn.00578490
jmp 0x57a75b
mov esi, dword [ebp - 0x2c]
push 0x57c950
push dword [0x714a58]
push 0x7480ec
call fcn.00580800
add esp, 0xc
mov ebx, eax
cmp dword [0x714840], 0
mov dword [ebp - 0x128], ebx
je 0x57a7b8
test ebx, ebx
jne 0x57a7b8
push 0x6adf60
push 0x669fd0
push 0x6add8c
push 0x391
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], bl
je 0x57a7b8
mov byte [0x747ee0], bl
int3
push 0x1c
call fcn.005ea79f
mov edi, eax
mov dword [ebp - 0x20], eax
add esp, 4
mov dword [ebp - 0x10], edi
test edi, edi
je 0x57a7d7
mov dword [edi + 8], 0
jmp 0x57a7dc
xor edi, edi
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x18]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x11c]
mov dword [edi + 0xc], eax
mov al, cl
and al, 1
mov dword [edi], ebx
mov byte [edi + 0x18], al
test esi, esi
je 0x57a807
mov eax, dword [ebp - 0x11c]
mov dword [esi + 0x44], eax
and ecx, 1
mov eax, 0
mov dword [ebp - 0x10], ecx
cmove eax, esi
mov dword [edi + 0x10], eax
lea eax, [ebp - 0x1b4]
push eax
push 0
push edi
push 0x57c0a0
push 0
push 0
call dword [0x64c2f0]
push dword [ebp - 0x120]
mov dword [ebp - 0x30], eax
call dword [0x64c364]
cmp eax, 0xffffffff
jne 0x57ab69
mov eax, dword [0x747f2c]
test eax, eax
jne 0x57a85c
call fcn.00550990
mov dword [0x747f2c], eax
push eax
lea eax, [ebp - 0x2c]
push 0x650c44
push eax
call fcn.0040e820
add esp, 0xc
mov eax, dword [eax]
mov byte [ebp - 4], 0x3e
mov edx, dword [eax]
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 7
mov word [ebp - 0x1d4], ax
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57a8a0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x1d4]
call fcn.0040f630
mov byte [ebp - 4], 0x3f
call fcn.0054af50
mov ecx, dword [ebp - 0x2c]
cmp ecx, eax
je 0x57a8fe
mov eax, 0xffff
add word [ecx + 8], ax
jne 0x57a8f9
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x57a8f9
cmp byte [esi + 0xa], 0
je 0x57a8ee
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x1bc], 0
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 0x40
je 0x57a929
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x57a929
call fcn.00558af0
jmp 0x57a92e
mov al, byte [0x7148b4]
test al, al
je 0x57a954
sub esp, 0x20
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.00412e20
call fcn.00558460
add esp, 0x20
cmp eax, 6
jb 0x57a954
mov bl, 1
jmp 0x57a956
xor bl, bl
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x3a
call fcn.0040d530
test bl, bl
je 0x57ab69
call fcn.0054af50
mov dword [ebp - 0xf8], eax
mov byte [ebp - 4], 0x41
call fcn.0054af50
mov dword [ebp - 0xf4], eax
push 0xffffffffffffffff
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0x42
push 0x650ca8
push eax
call fcn.0040e0a0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
sub esp, 0x14
mov byte [ebp - 4], 0x43
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.00559190
push eax
push esi
call fcn.005591a0
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 4], 0x44
mov dword [ebp + 0x2a8], 6
mov dword [ebp + 0x2b0], 0x6ad7d8
mov dword [ebp + 0x2b8], 0x6add8c
mov dword [ebp + 0x2b4], 0x3b8
mov dword [ebp + 0x2bc], 0x650c44
movlpd qword [ebp + 0x2c0], xmm0
call fcn.005561f0
mov dword [ebp + 0x2c8], eax
xor eax, eax
mov dword [ebp + 0x2cc], 0
mov dword [ebp + 0x2e0], 0
mov dword [ebp + 0x2e4], 7
mov word [ebp + 0x2d0], ax
mov dword [ebp + 0x2e8], eax
mov byte [ebp - 4], 0x45
call fcn.00559190
push eax
push 0x6adfb8
push 0x3b8
push 0x6ad7d8
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x46
push eax
lea ecx, [ebp + 0x2a8]
call fcn.00415310
lea ecx, [ebp + 0x2d0]
call fcn.0040d530
lea ecx, [ebp + 0x2b0]
call fcn.0040d400
mov byte [ebp - 4], 0x47
call fcn.0054af50
mov ecx, dword [ebp - 0xf0]
mov ebx, 0xffff
cmp ecx, eax
je 0x57aad9
add word [ecx + 8], bx
jne 0x57aace
mov esi, dword [ebp - 0xf0]
test esi, esi
je 0x57aace
cmp byte [esi + 0xa], 0
je 0x57aac3
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xf0], eax
mov byte [ebp - 4], 0x48
call fcn.0054af50
mov ecx, dword [ebp - 0xf4]
cmp ecx, eax
je 0x57ab22
add word [ecx + 8], bx
jne 0x57ab17
mov esi, dword [ebp - 0xf4]
test esi, esi
je 0x57ab17
cmp byte [esi + 0xa], 0
je 0x57ab0c
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xf4], eax
mov byte [ebp - 4], 0x49
call fcn.0054af50
mov ecx, dword [ebp - 0xf8]
cmp ecx, eax
je 0x57ab65
add word [ecx + 8], bx
jne 0x57ab60
mov esi, dword [ebp - 0xf8]
test esi, esi
je 0x57ab60
cmp byte [esi + 0xa], 0
je 0x57ab55
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov byte [ebp - 4], 0x3a
push dword [ebp - 0x120]
mov ecx, dword [ebp - 0x34]
call ecx
test eax, eax
jne 0x57ae99
mov eax, dword [0x747f2c]
test eax, eax
jne 0x57ab8f
call fcn.00550990
mov dword [0x747f2c], eax
push eax
lea eax, [ebp - 0x28]
push 0x650c44
push eax
call fcn.0040e820
add esp, 0xc
mov eax, dword [eax]
mov byte [ebp - 4], 0x4a
mov edx, dword [eax]
mov ecx, edx
xor eax, eax
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 7
mov word [ebp - 0x1f4], ax
lea esi, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x57abd0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x1f4]
call fcn.0040f630
mov byte [ebp - 4], 0x4b
call fcn.0054af50
mov ecx, dword [ebp - 0x28]
cmp ecx, eax
je 0x57ac2e
mov eax, 0xffff
add word [ecx + 8], ax
jne 0x57ac29
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x57ac29
cmp byte [esi + 0xa], 0
je 0x57ac1e
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x1dc], 0
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 0x4c
je 0x57ac59
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x57ac59
call fcn.00558af0
jmp 0x57ac5e
mov al, byte [0x7148b4]
test al, al
je 0x57ac84
sub esp, 0x20
lea eax, [ebp - 0x1f4]
mov ecx, esp
push eax
call fcn.00412e20
call fcn.00558460
add esp, 0x20
cmp eax, 6
jb 0x57ac84
mov bl, 1
jmp 0x57ac86
xor bl, bl
lea ecx, [ebp - 0x1f4]
mov byte [ebp - 4], 0x3a
call fcn.0040d530
test bl, bl
je 0x57ae99
call fcn.0054af50
mov dword [ebp - 0xe4], eax
mov byte [ebp - 4], 0x4d
call fcn.0054af50
mov dword [ebp - 0xe0], eax
push 0xffffffffffffffff
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0x4e
push 0x650ca8
push eax
call fcn.0040e0a0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
sub esp, 0x14
mov byte [ebp - 4], 0x4f
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.00559190
push eax
push esi
call fcn.005591a0
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 4], 0x50
mov dword [ebp + 0x2f0], 6
mov dword [ebp + 0x2f8], 0x6ad7d8
mov dword [ebp + 0x300], 0x6add8c
mov dword [ebp + 0x2fc], 0x3be
mov dword [ebp + 0x304], 0x650c44
movlpd qword [ebp + 0x308], xmm0
call fcn.005561f0
mov dword [ebp + 0x310], eax
xor eax, eax
mov dword [ebp + 0x314], 0
mov dword [ebp + 0x328], 0
mov dword [ebp + 0x32c], 7
mov word [ebp + 0x318], ax
mov dword [ebp + 0x330], eax
mov byte [ebp - 4], 0x51
call fcn.00559190
push eax
push 0x6adc6c
push 0x3be
push 0x6ad7d8
lea eax, [ebp - 0xe4]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [ebp + 0x2f0]
call fcn.00415310
lea ecx, [ebp + 0x318]
call fcn.0040d530
lea ecx, [ebp + 0x2f8]
call fcn.0040d400
mov byte [ebp - 4], 0x53
call fcn.0054af50
mov ecx, dword [ebp - 0xdc]
mov ebx, 0xffff
cmp ecx, eax
je 0x57ae09
add word [ecx + 8], bx
jne 0x57adfe
mov esi, dword [ebp - 0xdc]
test esi, esi
je 0x57adfe
cmp byte [esi + 0xa], 0
je 0x57adf3
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xdc], eax
mov byte [ebp - 4], 0x54
call fcn.0054af50
mov ecx, dword [ebp - 0xe0]
cmp ecx, eax
je 0x57ae52
add word [ecx + 8], bx
jne 0x57ae47
mov esi, dword [ebp - 0xe0]
test esi, esi
je 0x57ae47
cmp byte [esi + 0xa], 0
je 0x57ae3c
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xe0], eax
mov byte [ebp - 4], 0x55
call fcn.0054af50
mov ecx, dword [ebp - 0xe4]
cmp ecx, eax
je 0x57ae95
add word [ecx + 8], bx
jne 0x57ae90
mov esi, dword [ebp - 0xe4]
test esi, esi
je 0x57ae90
cmp byte [esi + 0xa], 0
je 0x57ae85
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov byte [ebp - 4], 0x3a
mov ebx, dword [ebp - 0x30]
test ebx, ebx
jne 0x57b1ba
mov eax, dword [0x747f2c]
test eax, eax
jne 0x57aeb7
call fcn.00550990
mov dword [0x747f2c], eax
push eax
lea eax, [ebp - 0xfc]
push 0x650c44
push eax
call fcn.0040e820
add esp, 0xc
mov eax, dword [eax]
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 0x56
push dword [eax]
call fcn.00412b70
mov byte [ebp - 4], 0x57
call fcn.0054af50
mov ecx, dword [ebp - 0xfc]
cmp ecx, eax
je 0x57af27
mov eax, 0xffff
add word [ecx + 8], ax
jne 0x57af22
mov esi, dword [ebp - 0xfc]
test esi, esi
je 0x57af22
cmp byte [esi + 0xa], 0
je 0x57af17
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x23c], 0
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 0x58
je 0x57af52
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x57af52
call fcn.00558af0
jmp 0x57af57
mov al, byte [0x7148b4]
test al, al
je 0x57af7d
sub esp, 0x20
lea eax, [ebp - 0x254]
mov ecx, esp
push eax
call fcn.00412e20
call fcn.00558460
add esp, 0x20
cmp eax, 6
jb 0x57af7d
mov bl, 1
jmp 0x57af7f
xor bl, bl
lea ecx, [ebp - 0x254]
mov byte [ebp - 4], 0x3a
call fcn.0040d530
test bl, bl
je 0x57b18e
call fcn.0054af50
mov dword [ebp - 0x110], eax
mov byte [ebp - 4], 0x59
call fcn.0054af50
mov dword [ebp - 0x10c], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0x5a
push 0x650ca8
push eax
call fcn.0040e0a0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
sub esp, 0x14
mov byte [ebp - 4], 0x5b
mov esi, esp
mov dword [ebp - 0x10], esp
call fcn.00559190
push eax
push esi
call fcn.005591a0
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 4], 0x5c
mov dword [ebp + 0x338], 6
mov dword [ebp + 0x340], 0x6ad7d8
mov dword [ebp + 0x348], 0x6add8c
mov dword [ebp + 0x344], 0x3c3
mov dword [ebp + 0x34c], 0x650c44
movlpd qword [ebp + 0x350], xmm0
call fcn.005561f0
mov dword [ebp + 0x358], eax
xor eax, eax
mov dword [ebp + 0x35c], 0
mov dword [ebp + 0x370], 0
mov dword [ebp + 0x374], 7
mov word [ebp + 0x360], ax
mov dword [ebp + 0x378], eax
mov byte [ebp - 4], 0x5d
call fcn.00559190
push eax
push 0x6adfec
push 0x3c3
push 0x6ad7d8
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [ebp + 0x338]
call fcn.00415310
lea ecx, [ebp + 0x360]
call fcn.0040d530
lea ecx, [ebp + 0x340]
call fcn.0040d400
mov byte [ebp - 4], 0x5f
call fcn.0054af50
mov ecx, dword [ebp - 0x108]
mov ebx, 0xffff
cmp ecx, eax
je 0x57b102
add word [ecx + 8], bx
jne 0x57b0f7
mov esi, dword [ebp - 0x108]
test esi, esi
je 0x57b0f7
cmp byte [esi + 0xa], 0
je 0x57b0ec
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x108], eax
mov byte [ebp - 4], 0x60
call fcn.0054af50
mov ecx, dword [ebp - 0x10c]
cmp ecx, eax
je 0x57b14b
add word [ecx + 8], bx
jne 0x57b140
mov esi, dword [ebp - 0x10c]
test esi, esi
je 0x57b140
cmp byte [esi + 0xa], 0
je 0x57b135
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x61
call fcn.0054af50
mov ecx, dword [ebp - 0x110]
cmp ecx, eax
je 0x57b18e
add word [ecx + 8], bx
jne 0x57b189
mov esi, dword [ebp - 0x110]
test esi, esi
je 0x57b189
cmp byte [esi + 0xa], 0
je 0x57b17e
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
push dword [ebp - 0x128]
call dword [0x64c6fc]
mov ecx, edi
call fcn.00577680
push 0x1c
push edi
call fcn.005ea7cf
mov eax, dword [ebp - 0x11c]
add esp, 8
mov dword [ebp - 0x18], eax
jmp 0x57bd7a
mov ecx, dword [0x7480f4]
mov esi, dword [0x7480f8]
lea edx, [ecx + 1]
cmp edx, esi
jbe 0x57b207
mov eax, 0x10
cmp ecx, eax
cmova eax, ecx
add esi, eax
cmp esi, edx
cmovbe esi, edx
lea eax, [esi*4]
push eax
push dword [0x7480fc]
call fcn.005f2572
mov ecx, dword [0x7480f4]
add esp, 8
mov dword [0x7480fc], eax
mov dword [0x7480f8], esi
jmp 0x57b20c
mov eax, dword [0x7480fc]
mov dword [eax + ecx*4], ebx
inc dword [0x7480f4]
mov dword [edi + 8], ebx
cmp dword [ebp + 0x4e8], 0
je 0x57bbc1
push 0x2710
push dword [ebp - 0x124]
call dword [0x64c720]
test eax, eax
je 0x57b834
cmp eax, 0x102
je 0x57b575
cmp eax, 0xffffffff
je 0x57b290
cmp dword [0x714840], 0
je 0x57b290
push 0x6ae020
push 0x64d658
push 0x6add8c
push 0x3de
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57b290
mov byte [0x747ee0], 0
int3
mov eax, dword [0x747f2c]
test eax, eax
jne 0x57b2a3
call fcn.00550990
mov dword [0x747f2c], eax
push eax
lea eax, [ebp - 0x70]
push 0x650c44
push eax
call fcn.0040e820
add esp, 0xc
mov eax, dword [eax]
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x62
push dword [eax]
call fcn.00412b70
mov byte [ebp - 4], 0x63
call fcn.0054af50
mov ecx, dword [ebp - 0x70]
cmp ecx, eax
je 0x57b30a
mov eax, 0xffff
add word [ecx + 8], ax
jne 0x57b305
mov esi, dword [ebp - 0x70]
test esi, esi
je 0x57b305
cmp byte [esi + 0xa], 0
je 0x57b2fa
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x1fc], 0
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 0x64
je 0x57b335
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x57b335
call fcn.00558af0
jmp 0x57b33a
mov al, byte [0x7148b4]
test al, al
je 0x57b360
sub esp, 0x20
lea eax, [ebp - 0x214]
mov ecx, esp
push eax
call fcn.00412e20
call fcn.00558460
add esp, 0x20
cmp eax, 6
jb 0x57b360
mov bl, 1
jmp 0x57b362
xor bl, bl
lea ecx, [ebp - 0x214]
mov byte [ebp - 4], 0x3a
call fcn.0040d530
test bl, bl
je 0x57b575
call fcn.0054af50
mov dword [ebp - 0xd0], eax
mov byte [ebp - 4], 0x65
call fcn.0054af50
mov dword [ebp - 0xcc], eax
push 0xffffffffffffffff
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0x66
push 0x650ca8
push eax
call fcn.0040e0a0
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
sub esp, 0x14
mov byte [ebp - 4], 0x67
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.00559190
push eax
push esi
call fcn.005591a0
add esp, 8
xorps xmm0, xmm0
mov byte [ebp - 4], 0x68
mov dword [ebp + 0x380], 6
mov dword [ebp + 0x388], 0x6ad7d8
mov dword [ebp + 0x390], 0x6add8c
mov dword [ebp + 0x38c], 0x3e2
mov dword [ebp + 0x394], 0x650c44
movlpd qword [ebp + 0x398], xmm0
call fcn.005561f0
mov dword [ebp + 0x3a0], eax
xor eax, eax
mov dword [ebp + 0x3a4], 0
mov dword [ebp + 0x3b8], 0
mov dword [ebp + 0x3bc], 7
mov word [ebp + 0x3a8], ax
mov dword [ebp + 0x3c0], eax
mov byte [ebp - 4], 0x69
call fcn.00559190
push eax
push 0x6ae078
push 0x3e2
push 0x6ad7d8
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [ebp + 0x380]
call fcn.00415310
lea ecx, [ebp + 0x3a8]
call fcn.0040d530
lea ecx, [ebp + 0x388]
call fcn.0040d400
mov byte [ebp - 4], 0x6b
call fcn.0054af50
mov ecx, dword [ebp - 0xc8]
mov ebx, 0xffff
cmp ecx, eax
je 0x57b4e5
add word [ecx + 8], bx
jne 0x57b4da
mov esi, dword [ebp - 0xc8]
test esi, esi
je 0x57b4da
cmp byte [esi + 0xa], 0
je 0x57b4cf
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 0x6c
call fcn.0054af50
mov ecx, dword [ebp - 0xcc]
cmp ecx, eax
je 0x57b52e
add word [ecx + 8], bx
jne 0x57b523
mov esi, dword [ebp - 0xcc]
test esi, esi
je 0x57b523
cmp byte [esi + 0xa], 0
je 0x57b518
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xcc], eax
mov byte [ebp - 4], 0x6d
call fcn.0054af50
mov ecx, dword [ebp - 0xd0]
cmp ecx, eax
je 0x57b571
add word [ecx + 8], bx
jne 0x57b56c
mov esi, dword [ebp - 0xd0]
test esi, esi
je 0x57b56c
cmp byte [esi + 0xa], 0
je 0x57b561
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov byte [ebp - 4], 0x3a
mov eax, dword [0x747f2c]
test eax, eax
jne 0x57b588
call fcn.00550990
mov dword [0x747f2c], eax
push eax
lea eax, [ebp - 0x78]
push 0x650c44
push eax
call fcn.0040e820
add esp, 0xc
mov eax, dword [eax]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x6e
push dword [eax]
call fcn.00412b70
mov byte [ebp - 4], 0x6f
call fcn.0054af50
mov ecx, dword [ebp - 0x78]
cmp ecx, eax
je 0x57b5ef
mov eax, 0xffff
add word [ecx + 8], ax
jne 0x57b5ea
mov esi, dword [ebp - 0x78]
test esi, esi
je 0x57b5ea
cmp byte [esi + 0xa], 0
je 0x57b5df
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x21c], 0
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 0x70
je 0x57b61a
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x57b61a
call fcn.00558af0
jmp 0x57b61f
mov al, byte [0x7148b4]
test al, al
je 0x57b645
sub esp, 0x20
lea eax, [ebp - 0x234]
mov ecx, esp
push eax
call fcn.00412e20
call fcn.00558460
add esp, 0x20
cmp eax, 6
jb 0x57b645
mov bl, 1
jmp 0x57b647
xor bl, bl
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x3a
call fcn.0040d530
test bl, bl
je 0x57b860
call fcn.0054af50
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 0x71
call fcn.0054af50
mov dword [ebp - 0xa4], eax
push 0xffffffffffffffff
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 0x72
push 0x6ae0b8
push eax
call fcn.0040e0a0
add esp, 0xc
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x73
mov dword [ebp + 0x3c8], 6
mov dword [ebp + 0x3d0], 0x6ad7d8
mov dword [ebp + 0x3d8], 0x6add8c
mov dword [ebp + 0x3d4], 0x3e6
mov dword [ebp + 0x3dc], 0x650c44
movlpd qword [ebp + 0x3e0], xmm0
call fcn.005561f0
mov dword [ebp + 0x3e8], eax
xor eax, eax
mov dword [ebp + 0x3ec], 0
mov dword [ebp + 0x400], 0
mov dword [ebp + 0x404], 7
mov word [ebp + 0x3f0], ax
mov dword [ebp + 0x408], eax
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x74
call fcn.005520c0
push eax
lea eax, [ebp + 0x3c8]
push eax
call fcn.0040e2e0
add esp, 8
lea ecx, [ebp + 0x3f0]
call fcn.0040d530
lea ecx, [ebp + 0x3d0]
call fcn.0040d400
mov byte [ebp - 4], 0x75
call fcn.0054af50
mov ecx, dword [ebp - 0xa0]
mov ebx, 0xffff
cmp ecx, eax
je 0x57b7a2
add word [ecx + 8], bx
jne 0x57b797
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x57b797
cmp byte [esi + 0xa], 0
je 0x57b78c
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0x76
call fcn.0054af50
mov ecx, dword [ebp - 0xa4]
cmp ecx, eax
je 0x57b7eb
add word [ecx + 8], bx
jne 0x57b7e0
mov esi, dword [ebp - 0xa4]
test esi, esi
je 0x57b7e0
cmp byte [esi + 0xa], 0
je 0x57b7d5
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 0x77
call fcn.0054af50
mov ecx, dword [ebp - 0xa8]
cmp ecx, eax
je 0x57b82e
add word [ecx + 8], bx
jne 0x57b829
mov esi, dword [ebp - 0xa8]
test esi, esi
je 0x57b829
cmp byte [esi + 0xa], 0
je 0x57b81e
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov byte [ebp - 4], 0x3a
jmp 0x57b860
lea eax, [ebp + 0x478]
push eax
lea eax, [ebp + 0x498]
push eax
lea eax, [ebp + 0x4d8]
push eax
call fcn.0057bec0
add esp, 0xc
test al, al
jne 0x57bbc1
nop dword [eax]
mov eax, dword [0x747f2c]
test eax, eax
jne 0x57b873
call fcn.00550990
mov dword [0x747f2c], eax
push eax
lea eax, [ebp - 0x74]
push 0x650c44
push eax
call fcn.0040e820
add esp, 0xc
mov eax, dword [eax]
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0x78
push dword [eax]
call fcn.00412b70
mov byte [ebp - 4], 0x79
call fcn.0054af50
mov ecx, dword [ebp - 0x74]
cmp ecx, eax
je 0x57b8da
mov eax, 0xffff
add word [ecx + 8], ax
jne 0x57b8d5
mov esi, dword [ebp - 0x74]
test esi, esi
je 0x57b8d5
cmp byte [esi + 0xa], 0
je 0x57b8ca
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x25c], 0
cmp dword [0x747fb0], 0
mov byte [ebp - 4], 0x7a
je 0x57b905
call fcn.005561f0
cmp eax, dword [0x747fb0]
je 0x57b905
call fcn.00558af0
jmp 0x57b90a
mov al, byte [0x7148b4]
test al, al
je 0x57b930
sub esp, 0x20
lea eax, [ebp - 0x274]
mov ecx, esp
push eax
call fcn.00412e20
call fcn.00558460
add esp, 0x20
cmp eax, 6
jb 0x57b930
mov bl, 1
jmp 0x57b932
xor bl, bl
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 0x3a
call fcn.0040d530
test bl, bl
je 0x57bbc1
call fcn.0054af50
mov dword [ebp - 0x94], eax
mov byte [ebp - 4], 0x7b
call fcn.0054af50
mov dword [ebp - 0x90], eax
push 0xffffffffffffffff
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x7c
push 0x6ae108
push eax
call fcn.0040e0a0
add esp, 0xc
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], 0
mov byte [ebp - 0x12c], 0
xorps xmm0, xmm0
mov byte [ebp - 4], 0x7e
mov dword [ebp + 0x410], 6
mov dword [ebp + 0x418], 0x6ad7d8
mov dword [ebp + 0x420], 0x6add8c
mov dword [ebp + 0x41c], 0x3f2
mov dword [ebp + 0x424], 0x650c44
movlpd qword [ebp + 0x428], xmm0
call fcn.005561f0
mov dword [ebp + 0x430], eax
xor eax, eax
mov dword [ebp + 0x434], 0
mov dword [ebp + 0x448], 0
mov dword [ebp + 0x44c], 7
mov word [ebp + 0x438], ax
mov dword [ebp + 0x450], eax
lea eax, [ebp - 0x134]
mov byte [ebp - 4], 0x81
push 1
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x14], eax
call fcn.005528b0
cmp dword [0x714840], 0
je 0x57ba82
mov ecx, eax
and ecx, 6
cmp ecx, eax
je 0x57ba82
push 0x64d374
push 0x64d3a4
push 0x650b08
push 0x21a
push 0x650aa8
call fcn.00547810
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57ba82
mov byte [0x747ee0], 0
int3
lea ecx, [ebp - 0x94]
call fcn.005520c0
lea ecx, [ebp - 0x14]
mov esi, eax
call fcn.005535f0
push eax
lea eax, [ebp + 0x410]
push esi
push eax
call fcn.0040e2e0
add esp, 0xc
cmp byte [ebp - 0x12c], 0
je 0x57bacd
mov esi, dword [ebp - 0x134]
test esi, esi
je 0x57bacd
mov ecx, esi
call fcn.0040d530
push 0x20
push esi
call fcn.005ea7cf
add esp, 8
lea ecx, [ebp + 0x438]
call fcn.0040d530
lea ecx, [ebp + 0x418]
call fcn.0040d400
mov byte [ebp - 4], 0x82
call fcn.0054af50
mov ecx, dword [ebp - 0x8c]
mov ebx, 0xffff
cmp ecx, eax
je 0x57bb31
add word [ecx + 8], bx
jne 0x57bb26
mov esi, dword [ebp - 0x8c]
test esi, esi
je 0x57bb26
cmp byte [esi + 0xa], 0
je 0x57bb1b
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x8c], eax
mov byte [ebp - 4], 0x83
call fcn.0054af50
mov ecx, dword [ebp - 0x90]
cmp ecx, eax
je 0x57bb7a
add word [ecx + 8], bx
jne 0x57bb6f
mov esi, dword [ebp - 0x90]
test esi, esi
je 0x57bb6f
cmp byte [esi + 0xa], 0
je 0x57bb64
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov dword [ebp - 0x90], eax
mov byte [ebp - 4], 0x84
call fcn.0054af50
mov ecx, dword [ebp - 0x94]
cmp ecx, eax
je 0x57bbbd
add word [ecx + 8], bx
jne 0x57bbb8
mov esi, dword [ebp - 0x94]
test esi, esi
je 0x57bbb8
cmp byte [esi + 0xa], 0
je 0x57bbad
push dword [esi]
call fcn.005f1088
add esp, 4
push 0xc
push esi
call fcn.005ea7cf
add esp, 8
call fcn.0054af50
mov byte [ebp - 4], 0x3a
cmp dword [ebp - 0x10], 0
jne 0x57bbd5
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x18], eax
jmp 0x57bd7a
mov ecx, dword [0x747edc]
test ecx, ecx
je 0x57bd38
call fcn.00545cb0
mov dword [ebp - 0x14], eax
test eax, eax
je 0x57bd38
mov edx, dword [ebp - 0x18]
mov ecx, edx
and ecx, 8
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x10], ecx
jne 0x57bc14
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x4c]
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x50], eax
cmp byte [edi + 0x18], 0
mov esi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x54]
je 0x57bd08
and edx, 0x10
mov dword [ebp - 0x18], edx
nop dword [eax]
mov ecx, dword [ebp - 0x68]
test ecx, ecx
je 0x57bc7a
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test al, al
je 0x57bc7a
lea eax, [esi + 0x1000]
push eax
push ebx
call fcn.005f2572
add esp, 8
test eax, eax
je 0x57bc7a
mov ecx, dword [ebp - 0x68]
mov ebx, eax
push 0x1000
add eax, esi
mov dword [ebp - 0x64], ebx
push eax
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx]
call dword [eax + 0x30]
add esi, eax
mov dword [ebp - 0x60], esi
jmp 0x57bccc
mov ecx, dword [ebp - 0x5c]
test ecx, ecx
je 0x57bcc4
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
test al, al
je 0x57bcc4
lea eax, [edi + 0x1000]
push eax
push dword [ebp - 0x58]
call fcn.005f2572
add esp, 8
test eax, eax
je 0x57bcc4
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x58], eax
add eax, edi
push 0x1000
push eax
mov edx, dword [ecx]
call dword [edx + 0x2c]
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx]
call dword [eax + 0x30]
add edi, eax
mov dword [ebp - 0x54], edi
jmp 0x57bccc
push 0x32
call dword [0x64c36c]
mov eax, dword [ebp - 0x20]
push 1
push 0
push 0
push dword [eax]
lea eax, [ebp - 0x2e8]
push eax
call dword [0x64c6d0]
cmp dword [ebp - 0x18], 0
jne 0x57bcfb
mov ecx, dword [0x7481ec]
test ecx, ecx
je 0x57bcfb
push 0
call fcn.0058fe80
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x18], 0
jne 0x57bc30
cmp dword [ebp - 0x10], 0
jne 0x57bd19
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x50]
mov eax, dword [ecx]
call dword [eax + 0x50]
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x18], ecx
mov ecx, eax
call fcn.00577680
push 0x1c
push dword [ebp - 0x20]
call fcn.005ea7cf
add esp, 8
jmp 0x57bd83
cmp dword [0x714840], 0
je 0x57bd73
push 0x6ae168
push 0x6ac50c
push 0x6add8c
push 0x401
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57bd73
mov byte [0x747ee0], 0
int3
mov dword [ebp - 0x18], 0xffffffff
mov esi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x64]
mov edi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov byte [ebp - 4], 0x85
test eax, eax
je 0x57bda3
mov ecx, dword [ebp - 0x5c]
push edi
push eax
call fcn.0059f650
push dword [ebp - 0x58]
call fcn.005f1088
add esp, 4
mov byte [ebp - 4], 0x86
test ebx, ebx
je 0x57bdbe
mov ecx, dword [ebp - 0x68]
push esi
push ebx
call fcn.0059f650
push ebx
call fcn.005f1088
add esp, 4
lea ecx, [ebp - 0x80]
call fcn.0040d010
mov ebx, dword [ebp - 0x34]
xor esi, esi
nop dword [eax + eax]
mov eax, dword [ebp + esi*4 - 0x3c]
cmp eax, 0xffffffff
je 0x57bde4
push eax
call ebx
mov dword [ebp + esi*4 - 0x3c], 0xffffffff
inc esi
cmp esi, 2
jb 0x57bdd0
mov ebx, dword [ebp - 0x18]
xor esi, esi
nop
mov eax, dword [ebp + esi*4 - 0x44]
mov edi, dword [ebp - 0x34]
cmp eax, 0xffffffff
je 0x57be07
push eax
call edi
mov dword [ebp + esi*4 - 0x44], 0xffffffff
inc esi
cmp esi, 2
jb 0x57bdf0
xor esi, esi
nop
mov eax, dword [ebp + esi*4 - 0x4c]
cmp eax, 0xffffffff
je 0x57be24
push eax
call edi
mov dword [ebp + esi*4 - 0x4c], 0xffffffff
inc esi
cmp esi, 2
jb 0x57be10
lea ecx, [ebp + 0x478]
call fcn.0040d530
lea ecx, [ebp + 0x498]
call fcn.0040d530
lea ecx, [ebp + 0x4d8]
call fcn.0040d530
lea ecx, [ebp + 0x4b8]
call fcn.0040d530
mov eax, ebx
jmp 0x57be97
cmp dword [0x714840], 0
je 0x57be95
push 0x6add44
push 0x6add7c
push 0x6add8c
push 0x249
push 0x6ad7d8
call fcn.005479a0
add esp, 0x14
cmp byte [0x747ee0], 0
je 0x57be95
mov byte [0x747ee0], 0
int3
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x4f8]
xor ecx, ebp
call fcn.005ea7eb
lea esp, [ebp + 0x4fc]
pop ebp
ret
call fcn.005f1037
int3