Function at 0x55934c
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb0
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 8], ecx
mov dword [ebp - 0x18], edx
mov ebx, eax
lea eax, [ebp - 0x14]
mov edx, dword [0x50ad54]
call fcn.00405e14
xor eax, eax
push ebp
push 0x55a2b0
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x24], eax
mov eax, dword [0x586330]
cmp dword [eax], 0
jne 0x5593bd
cmp dword [0x58d1d4], 0
jbe 0x5593bd
call fcn.004b9988
sub eax, dword [0x58d1d4]
cmp eax, 0x3e8
jbe 0x5593bd
mov eax, 0x55a2c8
call fcn.004b8ff8
call fcn.005592d0
mov byte [0x58d1e0], 1
mov eax, dword [ebp - 0x18]
xor edx, edx
push edx
push eax
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov eax, dword [eax + 0x5c]
cdq
cmp edx, dword [esp + 4]
jne 0x5593e5
cmp eax, dword [esp]
pop edx
pop eax
jae 0x5593f6
jmp 0x5593e9
pop edx
pop eax
jge 0x5593f6
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov edx, dword [ebp - 0x18]
mov dword [eax + 0x5c], edx
push ebp
push 0x55a270
push dword fs:[0]
mov dword fs:[0], esp
mov dword [ebp - 0x1c], ebx
cmp dword [0x58d1d8], 0
jne 0x55944d
mov eax, dword [0x586330]
cmp dword [eax], 0
jne 0x55944d
mov eax, dword [ebp - 0x1c]
cmp byte [eax], 0xd
jne 0x55944d
mov eax, dword [ebp - 0x1c]
inc eax
movzx eax, byte [eax]
test al, al
jne 0x55943f
mov dword [0x58d1d8], 2
jmp 0x55944d
test al, al
jbe 0x55944d
mov dword [0x58d1d8], 1
mov eax, dword [ebp - 0x1c]
movzx edx, byte [eax]
cmp edx, 0x3a
jg 0x5594a1
je 0x559869
cmp edx, 0x1f
jg 0x559483
je 0x559701
dec edx
je 0x5594e9
sub edx, 4
je 0x5595da
sub edx, 0xa
je 0x5596dc
jmp case.default.0x55a062
sub edx, 0x2e
je 0x5597a9
sub edx, 5
je 0x559824
dec edx
je 0x559859
jmp case.default.0x55a062
cmp edx, 0x9c
jg 0x5594cf
je 0x559cc4
sub edx, 0x3e
je 0x5599f2
sub edx, 0x14
je 0x559b37
sub edx, 0x23
je 0x559c31
jmp case.default.0x55a062
sub edx, 0x9e
je 0x559e21
sub edx, 0x51
je 0x55a04f
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
cmp word [eax], 0x101
jne case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
mov edx, dword [ebp - 0x1c]
add edx, 2
cmp ax, word [edx]
jne case.default.0x55a062
mov ecx, dword [ebp - 0x1c]
add ecx, 6
movzx ebx, byte [ecx]
mov eax, ecx
inc eax
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x34
adc edx, 0
mov eax, dword [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x28], eax
mov eax, dword [ebp - 0x1c]
add eax, 6
inc eax
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x34
adc edx, 0
add eax, 4
adc edx, 0
mov eax, dword [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x2c], eax
mov eax, dword [ebp - 0x1c]
add eax, 6
inc eax
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x34
adc edx, 0
add eax, 0x10
adc edx, 0
mov eax, dword [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x30], eax
mov eax, dword [ebp - 0x1c]
add eax, 6
inc eax
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 0x34
adc edx, 0
add eax, 0x14
adc edx, 0
mov eax, dword [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x58], eax
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
inc eax
cmp word [eax], 0x1802
jne 0x55960f
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x1c]
add edx, 3
call fcn.004053a0
mov edx, dword [ebp - 4]
mov eax, 0x55a2e4
call fcn.00405784
test eax, eax
jle 0x55960f
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x54], 1
lea eax, [ebp - 4]
mov edx, dword [ebp - 0x1c]
add edx, 3
call fcn.004053a0
mov eax, dword [0x586330]
cmp dword [eax], 0
jne 0x55964e
mov edx, dword [ebp - 4]
mov eax, 0x55a2f8
call fcn.00405784
test eax, eax
jg 0x559649
mov edx, dword [ebp - 4]
mov eax, 0x55a308
call fcn.00405784
test eax, eax
jle 0x55964e
call fcn.005592d0
mov edx, dword [ebp - 4]
mov eax, 0x55a318
call fcn.00405784
test eax, eax
jle 0x5596bb
mov edx, dword [ebp - 4]
mov eax, 0x55a328
call fcn.00405784
test eax, eax
jg 0x559692
mov edx, dword [ebp - 4]
mov eax, 0x55a338
call fcn.00405784
test eax, eax
jg 0x559692
mov edx, dword [ebp - 4]
mov eax, 0x55a348
call fcn.00405784
test eax, eax
jle 0x5596bb
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov byte [eax + 0x5f], 1
mov eax, dword [0x586404]
mov eax, dword [eax]
cmp dword [eax + 0x590], 1
jne 0x5596bb
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov byte [eax + 0x94], 1
mov edx, dword [ebp - 4]
mov eax, 0x55a358
call fcn.00405784
test eax, eax
jle case.default.0x55a062
mov eax, dword [ebp - 0x1c]
inc eax
mov byte [eax], 1
jmp case.default.0x55a062
cmp word [eax], 0x10f
jne case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 0xc
movzx eax, word [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov word [edx + 0x54], ax
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
inc eax
cmp word [eax], 0x2501
jne case.default.0x55a062
xor eax, eax
push ebp
push 0x55979a
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x1c]
add eax, 7
movzx ebx, byte [eax]
mov eax, dword [ebp - 0x1c]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
add eax, 1
adc edx, 0
mov edx, eax
lea eax, [ebp - 4]
call fcn.004053a0
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 0x1c]
add eax, 8
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx ecx, byte [eax]
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.004056a0
mov eax, dword [0x586a98]
mov eax, dword [eax]
add eax, 0x33c
mov edx, dword [ebp - 4]
call fcn.004051fc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
inc eax
movzx eax, word [eax]
cmp ax, 0x500
jne 0x5597e8
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov byte [eax + 0x5f], 1
mov eax, dword [0x586404]
mov eax, dword [eax]
cmp dword [eax + 0x590], 1
jne case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov byte [eax + 0x94], 1
jmp case.default.0x55a062
cmp ax, 0x400
jne case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov byte [eax + 0x5f], 1
mov eax, dword [0x586404]
mov eax, dword [eax]
cmp dword [eax + 0x590], 1
jne case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov byte [eax + 0x94], 1
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 5
movzx eax, byte [eax]
cmp al, 2
jne 0x559841
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x62], 1
jmp case.default.0x55a062
cmp al, 1
jne case.default.0x55a062
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x68], 1
jmp case.default.0x55a062
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x69], 1
jmp case.default.0x55a062
cmp word [eax], 0x13a
jne case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 3
movzx ebx, byte [eax]
cmp ebx, 3
jne 0x5598bd
mov eax, dword [0x58d1ec]
sub eax, 1
je 0x55989a
add eax, 0xffffff41
sub eax, 2
jae case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 6
movzx ecx, word [eax]
mov eax, dword [ebp - 0x1c]
add eax, 4
movzx edx, word [eax]
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.00513b60
jmp case.default.0x55a062
dec ebx
jne case.default.0x55a062
mov eax, dword [0x58d1ec]
sub eax, 1
je 0x5598ec
add eax, 0xffffff41
sub eax, 2
jb 0x5598ec
mov eax, dword [0x586a98]
mov eax, dword [eax]
cmp byte [eax + 0x370], 0
je case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 4
movzx eax, word [eax]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x1c]
add eax, 6
movzx eax, word [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x1c]
add eax, 8
movzx eax, word [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
add eax, 0xa
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x1c]
add eax, 0xe
movzx eax, byte [eax]
mov byte [ebp - 0x30], al
call fcn.004b9988
mov dword [ebp - 0x2c], eax
mov eax, dword [0x58d1ec]
sub eax, 1
je 0x559944
add eax, 0xffffff41
sub eax, 2
jae 0x559953
mov eax, dword [0x586a98]
mov eax, dword [eax]
lea edx, [ebp - 0x40]
call fcn.00511f94
mov eax, dword [0x586a98]
mov eax, dword [eax]
cmp byte [eax + 0x370], 0
je case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511c88
mov dword [ebp - 0x44], eax
fild dword [ebp - 0x44]
add esp, 0xfffffffc
fstp dword [esp]
wait
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511cb0
mov dword [ebp - 0x48], eax
fild dword [ebp - 0x48]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x3c]
add esp, 0xfffffffc
fstp dword [esp]
wait
fild dword [ebp - 0x38]
add esp, 0xfffffffc
fstp dword [esp]
wait
call fcn.004b7ec4
fcomp dword [0x55a364]
wait
fnstsw ax
sahf
ja case.default.0x55a062
mov eax, dword [0x586a98]
mov eax, dword [eax]
lea edx, [ebp - 0x40]
call fcn.0051c4fc
test al, al
je case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
movzx ecx, word [ebp - 0x38]
movzx edx, word [ebp - 0x3c]
call fcn.0050f418
jmp case.default.0x55a062
movzx edx, word [eax]
cmp dx, 0x203e
jne 0x559a6e
mov eax, dword [ebp - 0x1c]
add eax, 8
cmp byte [eax], 1
sete al
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov byte [edx + 0x4c], al
mov eax, dword [ebp - 0x1c]
add eax, 9
movzx ebx, byte [eax]
add ebx, 0xa
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
inc ebx
add eax, ebx
add eax, 6
add eax, 4
add eax, 2
mov ebx, eax
add ebx, 6
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, word [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x50], eax
jmp case.default.0x55a062
cmp dx, 0x1f3e
jne 0x559ae7
mov eax, dword [ebp - 0x1c]
add eax, 6
cmp byte [eax], 1
sete al
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov byte [edx + 0x4c], al
mov eax, dword [ebp - 0x1c]
add eax, 7
movzx ebx, byte [eax]
add ebx, 8
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
inc ebx
add eax, ebx
add eax, 6
add eax, 4
add eax, 2
mov ebx, eax
add ebx, 6
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, word [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x50], eax
jmp case.default.0x55a062
cmp dx, 0x173e
jne case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
movzx eax, ax
mov edx, dword [ebp - 0x1c]
add edx, 2
cmp eax, dword [edx]
jne case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 6
mov edx, dword [eax]
mov ecx, dword [0x5865d0]
mov ecx, dword [ecx]
mov dword [ecx + 0x30], edx
add eax, 4
mov eax, dword [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x58], eax
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
inc eax
movzx eax, byte [eax]
dec al
je 0x559b57
dec al
je 0x559bd7
sub al, 2
je 0x559c0d
jmp 0x559c22
mov eax, dword [ebp - 0x1c]
add eax, 6
movzx ebx, byte [eax]
lea eax, [ebp - 8]
mov edx, ebx
call fcn.004058c8
test ebx, ebx
jle 0x559bac
mov dword [ebp - 0x28], ebx
mov ebx, 1
lea eax, [ebp - 8]
call fcn.00405698
lea eax, [eax + ebx - 1]
push eax
mov eax, dword [ebp - 0x1c]
add eax, 7
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
movzx eax, byte [eax]
pop edx
mov byte [edx], al
inc ebx
dec dword [ebp - 0x28]
jne 0x559b76
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x18]
sub eax, 2
cmp word [eax], 1
sete al
push eax
mov eax, dword [ebp - 0x1c]
add eax, 2
movzx edx, word [eax]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
mov ecx, dword [ebp - 8]
call fcn.0050b19c
jmp 0x559c22
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
mov ebx, dword [ebp - 0x1c]
add ebx, 2
cmp ax, word [ebx]
jne 0x559bfc
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050ba48
jmp 0x559c22
movzx edx, word [ebx]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050bcf0
jmp 0x559c22
mov eax, dword [ebp - 0x1c]
add eax, 2
movzx edx, word [eax]
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.00511214
lea eax, [ebp - 8]
xor edx, edx
call fcn.004058c8
jmp case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
movzx eax, ax
mov edx, dword [ebp - 0x1c]
inc edx
cmp eax, dword [edx]
jne case.default.0x55a062
mov eax, dword [0x586404]
mov eax, dword [eax]
cmp dword [eax + 0x5d0], 0x81
jne 0x559c9c
mov eax, dword [ebp - 0x1c]
add eax, 5
cmp byte [eax], 1
jne 0x559c83
mov eax, dword [ebp - 0x1c]
add eax, 6
movzx eax, byte [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x28], eax
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 6
movzx eax, byte [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x2c], eax
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 5
mov edx, dword [eax]
mov ecx, dword [0x5865d0]
mov ecx, dword [ecx]
mov dword [ecx + 0x28], edx
add eax, 4
mov eax, dword [eax]
mov edx, dword [0x5865d0]
mov edx, dword [edx]
mov dword [edx + 0x2c], eax
jmp case.default.0x55a062
mov eax, dword [0x586a98]
mov eax, dword [eax]
call fcn.005124a8
mov esi, 1
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, esi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx ebx, byte [eax]
inc esi
dec ebx
test ebx, ebx
jl 0x559dfd
inc ebx
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, esi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
mov byte [ebp - 0x14], al
inc esi
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, esi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x20]
call fcn.004058c8
inc esi
mov edi, dword [ebp - 0x20]
test edi, edi
jle 0x559d87
mov ebx, 1
lea eax, [ebp - 0x10]
call fcn.00405698
lea eax, [eax + ebx - 1]
push eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, esi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
movzx eax, byte [eax]
pop edx
mov byte [edx], al
inc ebx
dec edi
jne 0x559d47
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x10]
call fcn.00409c3c
mov edx, dword [ebp - 0x4c]
lea eax, [ebp - 0x10]
call fcn.00405240
add esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
xor edx, edx
push edx
push eax
mov eax, esi
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx ecx, word [eax]
cmp cx, 0x190
je 0x559dc5
cmp cx, 0x19a
jne 0x559dcb
mov byte [ebp - 0xc], 1
jmp 0x559dcf
mov byte [ebp - 0xc], 0
mov eax, dword [0x586404]
mov eax, dword [eax]
cmp dword [eax + 0x5d0], 0x81
je 0x559de5
add esi, 4
mov eax, dword [0x586a98]
mov eax, dword [eax]
lea edx, [ebp - 0x14]
call fcn.00511e9c
dec dword [ebp - 0x28]
jne 0x559cfa
cmp byte [0x58d1f8], 0
jne 0x559e10
call fcn.005592d0
jmp case.default.0x55a062
mov eax, dword [0x586330]
mov eax, dword [eax]
call fcn.0054b2c4
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 3
movzx eax, byte [eax]
mov byte [ebp - 0x14], al
mov ebx, dword [ebp - 0x1c]
add ebx, 4
movzx edx, byte [ebx]
lea eax, [ebp - 0x10]
call fcn.004058c8
movzx eax, byte [ebx]
test eax, eax
jle 0x559e7d
mov dword [ebp - 0x28], eax
mov ebx, 1
lea eax, [ebp - 0x10]
call fcn.00405698
lea eax, [eax + ebx - 1]
push eax
mov eax, dword [ebp - 0x1c]
add eax, 4
xor edx, edx
push edx
push eax
mov eax, ebx
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
movzx eax, byte [eax]
pop edx
mov byte [edx], al
inc ebx
dec dword [ebp - 0x28]
jne 0x559e4d
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0x10]
call fcn.00409c3c
mov edx, dword [ebp - 0x50]
lea eax, [ebp - 0x10]
call fcn.00405240
mov eax, dword [ebp - 0x1c]
add eax, 2
movzx eax, byte [eax]
cmp al, 1
jne 0x559f4d
mov eax, dword [0x586a98]
mov eax, dword [eax]
lea edx, [ebp - 0x14]
call fcn.00511e9c
mov eax, dword [0x586330]
cmp dword [eax], 0
je case.default.0x55a062
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0x3b0]
mov eax, dword [eax + 0x284]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0x424]
mov eax, dword [eax + 0x284]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0x42c]
mov eax, dword [eax + 0x284]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0x428]
mov eax, dword [eax + 0x284]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0xa9c]
mov eax, dword [eax + 0x284]
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp case.default.0x55a062
cmp al, 2
jne case.default.0x55a062
mov eax, dword [0x586a98]
mov eax, dword [eax]
movzx edx, byte [ebp - 0x14]
call fcn.00513ad0
mov eax, dword [0x586330]
cmp dword [eax], 0
je case.default.0x55a062
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0x3b0]
mov ebx, dword [eax + 0x284]
mov eax, ebx
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, eax
mov eax, dword [0x586330]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0x424]
mov ebx, dword [eax + 0x284]
mov eax, ebx
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, eax
mov eax, dword [0x586330]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0x42c]
mov ebx, dword [eax + 0x284]
mov eax, ebx
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, eax
mov eax, dword [0x586330]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0x428]
mov ebx, dword [eax + 0x284]
mov eax, ebx
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, eax
mov eax, dword [0x586330]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [0x586330]
mov eax, dword [eax]
mov eax, dword [eax + 0xa9c]
mov ebx, dword [eax + 0x284]
mov eax, ebx
mov edx, dword [ebp - 0x10]
mov ecx, dword [eax]
call dword [ecx + 0x54]
mov edx, eax
mov eax, dword [0x586330]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x48]
jmp case.default.0x55a062
mov eax, dword [ebp - 0x1c]
inc eax
movzx eax, byte [eax]
add eax, 0xfffffff9
cmp eax, 4
ja case.default.0x55a062
jmp dword [eax*4 + 0x55a069]
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x42], 0
jmp case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
mov edx, dword [ebp - 0x1c]
add edx, 2
cmp ax, word [edx]
jne case.default.0x55a062
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x42], 0
jmp case.default.0x55a062
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x42], 1
jmp case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
mov edx, dword [ebp - 0x1c]
add edx, 2
cmp ax, word [edx]
jne case.default.0x55a062
mov eax, dword [0x586a98]
mov eax, dword [eax]
mov byte [eax + 0x42], 1
jmp case.default.0x55a062
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050cf54
mov edx, dword [ebp - 0x1c]
add edx, 2
cmp ax, word [edx]
jne case.default.0x55a062
mov eax, dword [ebp - 0x1c]
add eax, 5
movzx eax, word [eax]
mov edx, dword [0x586a98]
mov edx, dword [edx]
mov dword [edx + 0x44], eax
mov eax, dword [0x586330]
cmp dword [eax], 0
je 0x55a12d
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x586330]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
call fcn.0054f0a0
cmp dword [ebp - 0x24], 0
jle 0x55a266
mov eax, dword [0x586a9c]
mov eax, dword [eax]
cmp byte [eax + 0x76d], 0
je 0x55a154
mov eax, dword [ebp - 0x24]
mov dword [0x58d224], eax
jmp 0x55a266
mov eax, dword [ebp - 0x24]
dec eax
je 0x55a168
dec eax
je 0x55a1d3
dec eax
je 0x55a1ac
dec eax
je 0x55a1c3
jmp 0x55a266
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0x6b
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e140
and al, 0xff
mov edx, dword [ebp - 0x1c]
inc edx
mov byte [edx], al
mov eax, dword [0x5865d0]
mov eax, dword [eax]
call fcn.0050e140
shr eax, 8
mov edx, dword [ebp - 0x1c]
add edx, 2
mov byte [edx], al
mov eax, dword [0x58d1dc]
add eax, 8
mov dword [eax], 3
jmp 0x55a266
mov eax, dword [ebp - 0x1c]
add eax, 7
movzx eax, word [eax]
mov edx, dword [ebp - 0x1c]
add edx, 3
mov word [edx], ax
jmp 0x55a266
mov eax, dword [ebp - 0x1c]
add eax, 3
mov word [eax], 0
jmp 0x55a266
mov eax, dword [ebp - 0x1c]
mov byte [eax], 0x30
mov eax, dword [ebp - 0x1c]
inc eax
mov byte [eax], 1
mov eax, dword [ebp - 0x1c]
add eax, 0x1d
movzx eax, byte [eax]
mov edx, dword [ebp - 0x1c]
add edx, 2
mov byte [edx], al
mov eax, dword [ebp - 0x1c]
add eax, 3
mov byte [eax], 0
mov eax, dword [ebp - 0x1c]
add eax, 4
mov byte [eax], 0
mov eax, dword [ebp - 0x1c]
add eax, 0x20
movzx eax, byte [eax]
mov edx, dword [ebp - 0x1c]
add edx, 5
mov byte [edx], al
mov eax, dword [ebp - 0x1c]
add eax, 0x21
movzx eax, byte [eax]
mov edx, dword [ebp - 0x1c]
add edx, 6
mov byte [edx], al
mov eax, dword [ebp - 0x1c]
add eax, 0x26
movzx eax, byte [eax]
mov edx, dword [ebp - 0x1c]
add edx, 0xb
mov byte [edx], al
mov eax, dword [ebp - 0x1c]
add eax, 0x27
movzx eax, byte [eax]
mov edx, dword [ebp - 0x1c]
add edx, 0xc
mov byte [edx], al
mov ebx, 0xc
mov eax, dword [ebp - 0x1c]
add eax, 7
mov byte [eax], 0
dec ebx
jne 0x55a24c
mov eax, dword [0x58d1dc]
add eax, 8
mov dword [eax], 0x19
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x55a27a
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x55a2b7
lea eax, [ebp - 0x50]
mov edx, 2
call fcn.004051cc
lea eax, [ebp - 0x14]
mov edx, dword [0x50ad54]
call fcn.00405ee4
lea eax, [ebp - 8]
mov edx, 2
call fcn.004051cc
ret