Function at 0x57d4f0
Capabilities:
Inspect section memory permissions
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e9a73
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push esi
push edi
mov eax, dword [0x64e2c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x68], eax
xor esi, esi
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x4c], eax
xor edi, edi
mov dword [ebp - 0x50], edi
mov esi, ecx
mov dword [ebp - 0x64], edi
lea eax, [esi + 0x10]
mov dword [ebp - 0x2c], eax
mov edx, 8
mov byte [ebp - 4], 7
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x57d578
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x38]
dec edx
mov dword [eax], 0
add eax, 4
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x18], eax
test edx, edx
jne 0x57d567
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 1
mov eax, dword [eax]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], edx
mov byte [ebp - 4], 6
cmp eax, dword [ecx]
jne 0x57d5b3
xorps xmm0, xmm0
movups xmmword [esi + 0x30], xmm0
movups xmmword [esi + 0x40], xmm0
jmp 0x57d5eb
mov dword [esi + 0x30], 1
mov dword [esi + 0x34], 1
mov dword [esi + 0x38], 1
mov dword [esi + 0x3c], 1
mov dword [esi + 0x40], 1
mov dword [esi + 0x44], 1
mov dword [esi + 0x48], 1
mov dword [esi + 0x4c], 1
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 0
mov eax, dword [eax]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], 0
cmp eax, dword [ecx]
jne 0x57d612
xorps xmm0, xmm0
movups xmmword [esi + 0x50], xmm0
movups xmmword [esi + 0x60], xmm0
jmp 0x57d64a
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0
mov dword [esi + 0x68], 0
mov dword [esi + 0x6c], 0
mov al, byte [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov byte [esi + 0x70], al
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x74], 0xffffffff
mov byte [esi + 0x71], 0
mov dword [esi + 0x78], 0xffffffff
mov dword [esi + 4], 0
cmp dword [eax], 0x80
jne 0x57d6e9
cmp dword [eax + 0x28], 0
je 0x57d6e9
mov eax, dword [ecx]
mov eax, dword [eax + 0x9c]
call eax
test eax, eax
jne 0x57d6e9
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov edx, dword [eax + 0x64]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x28]
push dword [eax]
lea eax, [ebp - 0x64]
push eax
call edx
mov edx, dword [eax]
mov dword [eax], 0
mov ecx, dword [esi + 8]
mov byte [ebp - 4], 9
mov dword [ebp + 0x18], edx
test ecx, ecx
je 0x57d6bf
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp + 0x18]
mov dword [esi + 8], edx
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x57d6d5
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [esi + 8]
test edx, edx
mov byte [ebp - 4], 6
setne byte [ebp + 0x1b]
test edx, edx
je 0x57d723
cmp byte [edx + 0x24], 0
je 0x57d6f0
xor dl, dl
mov byte [ebp + 0x1b], dl
jmp 0x57d726
test edx, edx
je 0x57d723
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x28]
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
sar eax, 3
cmp dword [edx + 0x30], eax
jne 0x57d6e9
mov eax, dword [ecx + 0x14]
sub eax, dword [ecx + 0x10]
mov cl, byte [ebp + 0x1b]
sar eax, 4
mov byte [ebp + 0x1b], cl
cmp dword [edx + 0x34], eax
je 0x57d723
xor dl, dl
mov byte [ebp + 0x1b], dl
jmp 0x57d726
mov dl, byte [ebp + 0x1b]
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0x80
je 0x57d772
mov eax, 8
cmp dword [eax + ecx + 4], 0
jge 0x57d77c
add eax, 4
cmp eax, 0x20
jb 0x57d736
cmp byte [ecx + 0x70], 0
jne 0x57d77c
cmp dword [ecx + 0x98], 0xffffffff
jne 0x57d77c
movss xmm0, dword [ecx + 0xa4]
ucomiss xmm0, dword [0x5eea94]
lahf
test ah, 0x44
jp 0x57d77c
cmp byte [ecx + 0xb0], 0
jne 0x57d77c
cmp byte [ebp + 0x14], 0
mov byte [ebp + 0x17], 0
je 0x57d780
mov byte [ebp + 0x17], 1
test dl, dl
je 0x57d788
mov byte [esi + 0x70], 1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x9c]
call eax
cmp eax, 1
je 0x57d7be
mov ecx, dword [ebp + 8]
lea edx, [ebp - 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xe0]
call eax
mov ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [eax], 0
jne 0x57d7c1
mov byte [ebp - 0xd], 0
jmp 0x57d7c5
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 0xd], 1
test cl, 1
je 0x57d7fa
and ecx, 0xfffffffe
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x64], ecx
test ecx, ecx
je 0x57d7fa
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x57d7fa
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x64]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x57d7fa
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [ebp - 0xd], 0
je 0x57d906
mov ecx, dword [ebp + 8]
mov dword [esi], 0
mov dword [esi + 0xc], 1
call fcn.00431d50
push 0
lea ecx, [ebp + 0x14]
push ecx
mov ecx, eax
call fcn.00585db0
mov ecx, dword [eax]
mov dword [ebp + 0x18], ecx
mov dword [eax], 0
mov ecx, dword [esi + 0x10]
mov byte [ebp - 4], 0xd
test ecx, ecx
je 0x57d841
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x10], eax
mov ecx, dword [ebp + 0x14]
mov byte [ebp - 4], 0xe
test ecx, ecx
je 0x57d857
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 0x30]
mov dword [esi + 0x30], eax
mov eax, dword [ecx + 0x50]
mov dword [esi + 0x50], eax
cmp byte [esi + 0x70], 0
je 0x57d876
mov eax, dword [esi + 0xc]
mov dword [esi + 0x78], eax
inc eax
mov dword [esi + 0xc], eax
xor esi, esi
mov byte [ebp - 4], 0x7b
test edi, edi
je 0x57d887
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 0x7c
test eax, eax
je 0x57d899
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 0x7d
test eax, eax
je 0x57d8ab
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 0x7e
test eax, eax
je 0x57d8bd
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov byte [ebp - 4], 0x7f
test esi, esi
je 0x57d8cc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x34]
mov byte [ebp - 4], 0x80
test eax, eax
je 0x57d8de
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0x81
test eax, eax
je 0x57d8f3
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx]
cmp eax, 0x80
jne 0x57d997
mov al, byte [ebp + 0x1b]
test al, al
je 0x57d9f0
mov ecx, dword [ecx + 0x28]
mov dword [esi + 4], ecx
test ecx, ecx
je 0x57da01
mov edx, dword [ebp + 0xc]
push dword [ecx]
lea ecx, [ebp + 0x14]
push ecx
mov eax, dword [edx]
mov ecx, edx
mov eax, dword [eax + 0x64]
call eax
mov edx, dword [eax]
mov dword [eax], 0
mov ecx, dword [esi + 8]
mov byte [ebp - 4], 0xb
mov dword [ebp + 0x18], edx
test ecx, ecx
je 0x57d95f
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp + 0x18]
mov dword [esi + 8], edx
mov ecx, dword [ebp + 0x14]
mov byte [ebp - 4], 0xc
test ecx, ecx
je 0x57d975
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [esi + 8]
mov byte [ebp - 4], 6
test edx, edx
je 0x57da01
mov dword [esi], 6
mov al, byte [edx + 0x25]
mov byte [esi + 0x71], al
test al, al
je 0x57da01
mov byte [esi + 0x72], 1
jmp 0x57da01
cmp eax, 7
jne 0x57d9b7
cmp byte [ebp + 0x17], 0
mov eax, 1
mov edx, 4
cmovne eax, edx
mov dword [esi], eax
mov al, byte [ebp + 0x1b]
mov ah, byte [ebp + 0x17]
jmp 0x57d9f9
cmp eax, 6
jne 0x57d9da
mov ah, byte [ebp + 0x17]
mov al, byte [ebp + 0x1b]
mov byte [esi + 0x71], 1
test ah, ah
je 0x57d9d2
mov dword [esi], 5
jmp 0x57d9f9
mov dword [esi], 2
jmp 0x57d9f9
test eax, eax
mov ah, byte [ebp + 0x17]
mov al, byte [ebp + 0x1b]
jne 0x57d9f3
test ah, ah
je 0x57d9f3
mov dword [esi], 3
jmp 0x57d9f9
mov ah, byte [ebp + 0x17]
mov dword [esi], 0
test al, al
je 0x57dd12
mov eax, dword [esi + 4]
mov ecx, dword [eax + 8]
sub ecx, dword [eax + 4]
sar ecx, 3
cmp ecx, 6
jae 0x57da1e
mov dword [esi + 0xc], ecx
test ecx, ecx
jg 0x57da25
jmp 0x57dccd
mov dword [esi + 0xc], 6
mov eax, dword [ebp - 0x58]
xor edx, edx
mov edi, dword [ebp - 0x54]
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp + 0x18], edx
mov dword [ebp + 0x10], eax
nop dword [eax]
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
cmp dword [eax + edx*8], 1
mov ecx, dword [eax + edx*8 + 4]
jne 0x57db7e
test ecx, ecx
js 0x57db51
mov edx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp + 8]
push ecx
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x34]
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0xf
test esi, esi
je 0x57da9b
mov ecx, dword [esi + 0x20]
mov dword [ebp + 0x14], ecx
test ecx, ecx
je 0x57da8a
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [esi + 0x20]
mov dword [ebp + 0x14], ecx
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp - 0x14]
mov esi, ecx
mov byte [ebp - 4], 0x10
or eax, 2
jmp 0x57daaf
xor edi, edi
mov dword [ebp - 0x54], edi
mov eax, dword [ebp - 0x14]
or eax, 4
mov dword [ebp - 4], 0x11
xor esi, esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
test esi, esi
je 0x57dabf
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x57dad4
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + eax*4], esi
mov eax, dword [ebp - 0x14]
test al, 4
je 0x57db04
and eax, 0xfffffffb
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x12
test edi, edi
je 0x57db04
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 4], 0xf
test al, 2
je 0x57db2d
and eax, 0xfffffffd
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp + 0x14]
mov byte [ebp - 4], 0x13
test ecx, ecx
je 0x57db2d
mov eax, dword [ecx]
call dword [eax + 8]
xor eax, eax
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x58], eax
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 0x14
test esi, esi
je 0x57db46
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov dword [ebp + 8], 0
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x18]
jmp 0x57dca5
mov dword [ebp - 0x18], 0
mov ecx, dword [esi + edx*4 + 0x10]
lea eax, [esi + 0x10]
mov byte [ebp - 4], 0x15
test ecx, ecx
je 0x57db72
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp + 0x18]
lea eax, [esi + 0x10]
mov dword [eax + edx*4], 0
jmp 0x57dca5
test ecx, ecx
js 0x57dc7d
mov edx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x38]
push ecx
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0x28]
mov esi, dword [ebp - 0x38]
mov byte [ebp - 4], 0x17
test esi, esi
je 0x57dbc5
mov ecx, dword [esi + 0x20]
mov dword [ebp + 0x10], ecx
test ecx, ecx
je 0x57dbb4
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [esi + 0x20]
mov dword [ebp + 0x10], ecx
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x14]
mov esi, ecx
mov byte [ebp - 4], 0x18
or eax, 8
jmp 0x57dbd9
xor eax, eax
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x14]
or eax, 0x10
mov dword [ebp - 4], 0x19
xor esi, esi
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
test esi, esi
je 0x57dbe9
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x57dbfe
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + eax*4], esi
mov ecx, dword [ebp - 0x14]
test cl, 0x10
je 0x57dc32
and ecx, 0xffffffef
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 4], 0x1a
test eax, eax
je 0x57dc32
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 8]
mov ecx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 4], 0x17
test cl, 8
je 0x57dc5c
and ecx, 0xfffffff7
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp + 0x10]
mov byte [ebp - 4], 0x1b
test ecx, ecx
je 0x57dc5c
mov eax, dword [ecx]
call dword [eax + 8]
xor eax, eax
mov dword [ebp + 0x10], eax
mov dword [ebp - 0x64], eax
mov esi, dword [ebp - 0x38]
mov byte [ebp - 4], 0x1c
test esi, esi
je 0x57dc75
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov dword [ebp - 0x38], 0
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x18]
jmp 0x57dca5
mov dword [ebp - 0x18], 0
mov ecx, dword [esi + edx*4 + 0x10]
lea eax, [esi + 0x10]
mov byte [ebp - 4], 0x1d
test ecx, ecx
je 0x57dc9e
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp + 0x18]
lea eax, [esi + 0x10]
mov dword [eax + edx*4], 0
mov dword [esi + edx*4 + 0x30], 1
mov eax, dword [esi + 8]
mov byte [ebp - 4], 6
mov eax, dword [eax + edx*4 + 0x38]
mov dword [esi + edx*4 + 0x50], eax
inc edx
mov ecx, dword [esi + 0xc]
mov dword [ebp + 0x18], edx
cmp edx, ecx
jl 0x57da40
xor edi, edi
cmp byte [esi + 0x71], 0
je 0x57dcec
mov dword [esi + ecx*4 + 0x30], 1
mov eax, dword [esi + 0xc]
mov dword [esi + eax*4 + 0x50], 1
mov ecx, dword [esi + 0xc]
mov dword [esi + 0x74], ecx
inc ecx
cmp byte [esi + 0x70], 0
mov dword [esi + 0xc], ecx
je 0x57d876
mov dword [esi + ecx*4 + 0x30], 1
mov eax, dword [esi + 0xc]
mov dword [esi + eax*4 + 0x50], 1
jmp 0x57d86c
mov edx, dword [ecx]
test ah, ah
je 0x57dd24
xor eax, eax
test edx, edx
setne al
add eax, 6
jmp 0x57dd2c
xor eax, eax
test edx, edx
setne al
inc eax
mov dword [esi + 0xc], eax
cmp byte [esi + 0x70], 0
je 0x57dd3c
mov dword [esi + 0x78], eax
inc eax
mov dword [esi + 0xc], eax
mov esi, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
cmp dword [ecx], 6
lea ecx, [ebp - 0x5c]
push edx
mov eax, dword [esi]
push ecx
mov ecx, esi
jne 0x57de20
call dword [eax + 0x40]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x1f
test ecx, ecx
je 0x57dd92
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x20
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57dd8d
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57ddb0
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x21
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x40
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x14]
test al, 0x40
je 0x57dde2
and eax, 0xffffffbf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x22
test esi, esi
je 0x57dde2
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x1f
test al, 0x20
je 0x57de03
and eax, 0xffffffdf
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x23
test ecx, ecx
je 0x57de03
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x24
test ecx, ecx
je 0x57de13
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, dword [ebp - 0x30]
mov ecx, esi
mov dword [ebp + 0x18], ecx
jmp 0x57def3
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x25
test ecx, ecx
je 0x57de60
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x80
mov byte [ebp - 4], 0x26
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57de5b
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57de80
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x27
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x100
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x14]
test eax, 0x100
je 0x57deba
and eax, 0xfffffeff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x28
test esi, esi
je 0x57deba
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x25
test al, al
jns 0x57dedd
and eax, 0xffffff7f
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x29
test ecx, ecx
je 0x57dedd
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x2a
test ecx, ecx
je 0x57deed
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 6
test esi, esi
jne 0x57df43
mov ecx, dword [ebp + 8]
call fcn.00431d50
push esi
lea ecx, [ebp - 0x64]
push ecx
mov ecx, eax
call fcn.00585db0
mov esi, dword [eax]
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 0x2b
mov dword [ebp - 0x30], esi
mov dword [eax], 0
test ecx, ecx
je 0x57df2a
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x3c], esi
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x2c
test ecx, ecx
je 0x57df3d
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 6
mov ecx, esi
test ecx, ecx
je 0x57df4b
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
test ecx, ecx
je 0x57df5c
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], esi
mov eax, dword [edx + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [edx + 0x50]
mov dword [ecx + 0x50], eax
mov eax, dword [edx]
test eax, eax
je 0x57e0ff
cmp eax, 6
jne 0x57df8f
mov byte [ecx + 0x71], 1
mov dword [ecx + 0x74], 1
jmp 0x57e0de
cmp eax, 7
jne 0x57e0de
mov ecx, dword [ebp + 0xc]
push dword [edx + 8]
lea edx, [ebp - 0x5c]
push edx
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x2d
test ecx, ecx
je 0x57dfe4
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x200
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57dfdf
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e004
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x2f
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x400
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x14]
test eax, 0x400
je 0x57e03b
and eax, 0xfffffbff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x30
test esi, esi
je 0x57e03b
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x2d
test eax, 0x200
je 0x57e065
and eax, 0xfffffdff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x31
test ecx, ecx
je 0x57e061
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2d
mov esi, dword [ebp - 0x34]
mov ecx, esi
test esi, esi
jne 0x57e0a7
mov ecx, dword [ebp + 8]
call fcn.00431d50
push 1
lea ecx, [ebp + 0x18]
push ecx
mov ecx, eax
call fcn.00585db0
mov esi, dword [eax]
mov dword [ebp - 0x34], esi
mov dword [eax], 0
mov dword [ebp - 0x68], esi
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 0x33
test ecx, ecx
je 0x57e0a1
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x2d
mov ecx, esi
test ecx, ecx
je 0x57e0af
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x57e0c1
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x1c]
mov dword [eax + 0x14], esi
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x34
test ecx, ecx
je 0x57e0d4
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp + 0x10]
mov byte [ebp - 4], 6
cmp dword [edx], 6
jne 0x57e0f3
mov dword [ecx + 0x34], 1
mov dword [ecx + 0x54], 1
jmp 0x57e0ff
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x34], eax
mov eax, dword [edx + 0x54]
mov dword [ecx + 0x54], eax
cmp byte [ebp + 0x17], 0
je 0x57d876
cmp dword [edx], 6
mov esi, dword [ebp + 0xc]
mov ecx, dword [edx + 0xc]
push ecx
lea ecx, [ebp - 0x64]
mov eax, dword [esi]
push ecx
mov ecx, esi
jne 0x57e1f9
call dword [eax + 0x40]
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x35
test ecx, ecx
je 0x57e161
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x5c]
call fcn.0050fa70
mov edx, eax
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x800
mov byte [ebp - 4], 0x36
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e15c
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e181
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x37
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x14]
or eax, 0x1000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x14]
test eax, 0x1000
je 0x57e1b8
and eax, 0xffffefff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x38
test esi, esi
je 0x57e1b8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x35
test eax, 0x800
je 0x57e1de
and eax, 0xfffff7ff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x39
test ecx, ecx
je 0x57e1de
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x3a
test ecx, ecx
je 0x57e1ee
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, dword [ebp + 0x14]
mov dword [ebp + 0x18], esi
jmp 0x57e2cc
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x3b
test ecx, ecx
je 0x57e239
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x5c]
call fcn.0050fa70
mov edx, eax
mov dword [ebp + 0x14], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x2000
mov byte [ebp - 4], 0x3c
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e234
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e259
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x3d
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x14]
or eax, 0x4000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x14]
test eax, 0x4000
je 0x57e293
and eax, 0xffffbfff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x3e
test esi, esi
je 0x57e293
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x3b
test eax, 0x2000
je 0x57e2b9
and eax, 0xffffdfff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x3f
test ecx, ecx
je 0x57e2b9
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x40
test ecx, ecx
je 0x57e2c9
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, dword [ebp + 0x14]
mov byte [ebp - 4], 6
test esi, esi
jne 0x57e31a
mov ecx, dword [ebp + 8]
call fcn.00431d50
push esi
lea ecx, [ebp - 0x64]
push ecx
mov ecx, eax
call fcn.00585db0
mov esi, dword [eax]
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 0x41
mov dword [ebp + 0x14], esi
mov dword [eax], 0
test ecx, ecx
je 0x57e303
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x40], esi
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x42
test ecx, ecx
je 0x57e316
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 6
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
cmp dword [edx], 6
mov ecx, dword [edx + 0x10]
mov eax, dword [esi]
push ecx
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, esi
jne 0x57e40d
call dword [eax + 0x40]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x43
test ecx, ecx
je 0x57e375
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x8000
mov byte [ebp - 4], 0x44
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e370
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e395
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x45
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x10000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x14]
test eax, 0x10000
je 0x57e3cc
and eax, 0xfffeffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x46
test esi, esi
je 0x57e3cc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x43
test eax, 0x8000
je 0x57e3f2
and eax, 0xffff7fff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x47
test ecx, ecx
je 0x57e3f2
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x48
test ecx, ecx
je 0x57e402
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x28]
mov dword [ebp + 0x18], eax
jmp 0x57e4e0
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x49
test ecx, ecx
je 0x57e44d
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x20000
mov byte [ebp - 4], 0x4a
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e448
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e46d
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x4b
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x40000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x14]
test eax, 0x40000
je 0x57e4a7
and eax, 0xfffbffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x4c
test esi, esi
je 0x57e4a7
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x49
test eax, 0x20000
je 0x57e4cd
and eax, 0xfffdffff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x4d
test ecx, ecx
je 0x57e4cd
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x4e
test ecx, ecx
je 0x57e4dd
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x28]
mov byte [ebp - 4], 6
test eax, eax
jne 0x57e52f
mov ecx, dword [ebp + 8]
call fcn.00431d50
push 1
lea ecx, [ebp - 0x64]
push ecx
mov ecx, eax
call fcn.00585db0
mov esi, dword [eax]
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 0x4f
mov dword [ebp - 0x28], esi
mov dword [eax], 0
test ecx, ecx
je 0x57e518
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x44], esi
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x50
test ecx, ecx
je 0x57e52b
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 6
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
cmp dword [edx], 6
mov ecx, dword [edx + 0x14]
mov eax, dword [esi]
push ecx
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, esi
jne 0x57e622
call dword [eax + 0x40]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x51
test ecx, ecx
je 0x57e58a
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x80000
mov byte [ebp - 4], 0x52
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e585
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e5aa
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x53
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x100000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
test eax, 0x100000
je 0x57e5e1
and eax, 0xffefffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x54
test esi, esi
je 0x57e5e1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x51
test eax, 0x80000
je 0x57e607
and eax, 0xfff7ffff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x55
test ecx, ecx
je 0x57e607
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x56
test ecx, ecx
je 0x57e617
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x24]
mov dword [ebp + 0x18], eax
jmp 0x57e6f5
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x57
test ecx, ecx
je 0x57e662
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x200000
mov byte [ebp - 4], 0x58
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e65d
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e682
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x59
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x400000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x14]
test eax, 0x400000
je 0x57e6bc
and eax, 0xffbfffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x5a
test esi, esi
je 0x57e6bc
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x57
test eax, 0x200000
je 0x57e6e2
and eax, 0xffdfffff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x5b
test ecx, ecx
je 0x57e6e2
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x5c
test ecx, ecx
je 0x57e6f2
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 6
test eax, eax
jne 0x57e744
mov ecx, dword [ebp + 8]
call fcn.00431d50
push 0
lea ecx, [ebp - 0x64]
push ecx
mov ecx, eax
call fcn.00585db0
mov esi, dword [eax]
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 0x5d
mov dword [ebp - 0x24], esi
mov dword [eax], 0
test ecx, ecx
je 0x57e72d
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x48], esi
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x5e
test ecx, ecx
je 0x57e740
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 6
mov edx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
cmp dword [edx], 6
mov ecx, dword [edx + 0x18]
mov eax, dword [esi]
push ecx
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, esi
jne 0x57e837
call dword [eax + 0x40]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x5f
test ecx, ecx
je 0x57e79f
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x800000
mov byte [ebp - 4], 0x60
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e79a
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e7bf
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x61
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x1000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x14]
test eax, 0x1000000
je 0x57e7f6
and eax, 0xfeffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x62
test esi, esi
je 0x57e7f6
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x5f
test eax, 0x800000
je 0x57e81c
and eax, 0xff7fffff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x63
test ecx, ecx
je 0x57e81c
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x64
test ecx, ecx
je 0x57e82c
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x20]
mov dword [ebp + 0x18], eax
jmp 0x57e90a
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x65
test ecx, ecx
je 0x57e877
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x58]
call fcn.0050fa70
mov edx, eax
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x2000000
mov byte [ebp - 4], 0x66
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e872
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e897
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x67
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x14]
or eax, 0x4000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp + 0x18], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x14]
test eax, 0x4000000
je 0x57e8d1
and eax, 0xfbffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x68
test esi, esi
je 0x57e8d1
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x65
test eax, 0x2000000
je 0x57e8f7
and eax, 0xfdffffff
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x69
test ecx, ecx
je 0x57e8f7
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x6a
test ecx, ecx
je 0x57e907
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 6
test eax, eax
jne 0x57e959
mov ecx, dword [ebp + 8]
call fcn.00431d50
push 0
lea ecx, [ebp - 0x64]
push ecx
mov ecx, eax
call fcn.00585db0
mov esi, dword [eax]
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 0x6b
mov dword [ebp - 0x20], esi
mov dword [eax], 0
test ecx, ecx
je 0x57e942
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [ebp - 0x4c], esi
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x6c
test ecx, ecx
je 0x57e955
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 6
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edx, dword [ecx + 0x1c]
cmp dword [ecx], 6
lea ecx, [ebp - 0x64]
mov eax, dword [esi]
push edx
push ecx
mov ecx, esi
jne 0x57ea3b
call dword [eax + 0x40]
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x6d
test ecx, ecx
je 0x57e9b4
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x5c]
call fcn.0050fa70
mov edx, eax
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x8000000
mov byte [ebp - 4], 0x6e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57e9af
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57e9d4
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x6f
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x14]
or eax, 0x10000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
mov edi, dword [edi]
mov dword [ebp - 0x50], edi
test eax, 0x10000000
je 0x57ea06
and eax, 0xefffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x70
test esi, esi
je 0x57ea06
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x6d
test eax, 0x8000000
je 0x57ea24
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x71
test ecx, ecx
je 0x57ea24
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x72
test ecx, ecx
je 0x57ea34
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, edi
jmp 0x57eb01
call dword [eax + 0x28]
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x73
test ecx, ecx
je 0x57ea7b
add ecx, 0x20
push ecx
lea ecx, [ebp - 0x5c]
call fcn.0050fa70
mov edx, eax
mov dword [ebp + 0xc], edx
mov eax, dword [ebp - 0x14]
mov ecx, dword [edx]
or eax, 0x20000000
mov byte [ebp - 4], 0x74
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x57ea76
mov eax, dword [ecx]
call dword [eax]
mov esi, dword [ebp + 0x18]
jmp 0x57ea9b
xor esi, esi
mov dword [ebp + 0x18], esi
lea eax, [ebp + 0x18]
mov dword [ebp - 4], 0x75
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x14]
or eax, 0x40000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp - 0x14]
mov edi, dword [edi]
mov dword [ebp + 0x18], edi
mov dword [ebp - 0x50], edi
test eax, 0x40000000
je 0x57ead0
and eax, 0xbfffffff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x76
test esi, esi
je 0x57ead0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x73
test eax, 0x20000000
je 0x57eaee
mov ecx, dword [ebp - 0x5c]
mov byte [ebp - 4], 0x77
test ecx, ecx
je 0x57eaee
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x64]
mov byte [ebp - 4], 0x78
test ecx, ecx
je 0x57eafe
mov eax, dword [ecx]
call dword [eax + 8]
mov esi, dword [ebp + 0x18]
mov byte [ebp - 4], 6
test edi, edi
jne 0x57eb4c
mov ecx, dword [ebp + 8]
call fcn.00431d50
push 1
lea ecx, [ebp + 0x18]
push ecx
mov ecx, eax
call fcn.00585db0
mov edi, dword [eax]
mov byte [ebp - 4], 0x79
mov dword [eax], 0
test esi, esi
je 0x57eb35
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 8]
mov dword [ebp - 0x50], edi
mov ecx, dword [ebp + 0x18]
mov byte [ebp - 4], 0x7a
test ecx, ecx
je 0x57eb48
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 6
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov esi, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
mov dword [ebp + 0x18], eax
setne cl
lea ecx, [ecx*4 + 0x14]
add ecx, dword [ebp - 0x1c]
mov dword [ebp + 0xc], ecx
test esi, esi
je 0x57eb78
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
test edx, edx
je 0x57eb88
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 8]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x1c]
mov dword [ecx], esi
mov ecx, dword [eax + 0x38]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x34]
mov dword [eax + edx], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x58]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x54]
mov dword [eax + edx], ecx
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x18]
add eax, edx
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x57ebde
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57ebec
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x3c]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x38]
mov dword [eax + edx], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x5c]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x58]
mov dword [eax + edx], ecx
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x1c]
add eax, edx
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x57ec48
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57ec56
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x40]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x3c]
mov dword [eax + edx], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x60]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x5c]
mov dword [eax + edx], ecx
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x20]
add eax, edx
mov dword [ebp + 0x14], eax
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x57ecb2
mov edx, dword [eax]
mov ecx, eax
call dword [edx]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57ecc0
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x44]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x40]
mov dword [eax + edx], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x64]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x60]
mov dword [eax + edx], ecx
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x24]
add eax, edx
mov dword [ebp + 0x14], eax
test edi, edi
je 0x57ed1c
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
test ecx, ecx
je 0x57ed2a
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp - 0x1c]
mov dword [eax], edi
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x48]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x44]
mov dword [eax + edx], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x68]
xor eax, eax
cmp dword [ebp + 0x18], eax
setne al
lea eax, [eax*4 + 0x64]
mov dword [eax + edx], ecx
jmp 0x57d878