Function at 0x5aee20
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x72fa41
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb68
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push fcn.0041ed20
push 0x42b1e0
push 3
lea eax, [ebp - 0x174]
push 0x10
mov ebx, ecx
push eax
mov dword [ebp - 0x2c], edi
call fcn.0070e3ee
mov ecx, dword [ebp + 0xc]
xor esi, esi
cmp ecx, esi
mov dword [ebp - 4], esi
lea eax, [ebp - 0x174]
je 0x5aee77
mov eax, ecx
cmp dword [0x80fe3c], 0xf
jne 0x5aee8f
cmp edi, 6
jne 0x5aee8f
mov edi, 3
mov dword [ebp - 0x2c], edi
jmp switch.0x005aee9b
cmp edi, 0xc8
ja case.0x5aee9b.2
jmp dword [edi*4 + 0x5b2408]
lea ecx, [ebp + 0xa]
mov word [ebp + 0xa], 0xd3
push ecx
push 0xd3
jmp 0x5afae7
lea edx, [ebp + 8]
mov dword [ebx + 0xe4], 1
push edx
mov word [ebp + 8], 0xd0
mov byte [ebp + 0xa], 0
push 0xd0
jmp 0x5afae7
mov eax, dword [eax + 4]
cmp eax, esi
mov esi, 0x7367f4
je 0x5aeee6
mov esi, eax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp + 8], ecx
push ecx
mov ecx, 0x7d6c10
call fcn.004219f0
test al, al
je 0x5aef2e
mov eax, dword [ebp + 8]
mov edi, dword [0x7d6c14]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x7d6c14]
mov dword [0x7d6c18], eax
mov byte [eax + ecx], 0
mov edx, dword [ebx]
push 0
push 0
push 0
push 0x81
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov dword [ebx + 0xe4], 1
mov eax, dword [eax + 4]
cmp eax, esi
mov esi, 0x7367f4
je 0x5aef5d
mov esi, eax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + 0x104]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [ebp + 0xc], ecx
push ecx
mov ecx, edx
mov dword [ebp + 8], edx
call fcn.004219f0
test al, al
je 0x5aefaa
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [ecx + 8], eax
add eax, edx
mov byte [eax], 0
cmp dword [ebx + 0x10c], 0x18
ja case.0x5aee9b.2
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
test edi, edi
jne 0x5aefc6
mov edi, 0x7367f4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x28]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 6
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x4a]
mov word [ebp - 0x4c], 0xcf
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x32], 0
push ecx
push 0xcf
jmp 0x5afae7
mov dword [ebx + 0xe4], 1
mov eax, dword [eax + 4]
cmp eax, esi
mov esi, 0x7367f4
je 0x5af023
mov esi, eax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebx + 0x104]
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [ebp + 0xc], ecx
push ecx
mov ecx, edx
mov dword [ebp + 8], edx
call fcn.004219f0
test al, al
je 0x5af070
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ecx, eax
mov edi, dword [edx + 4]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [ecx + 8], eax
add eax, edx
mov byte [eax], 0
cmp dword [ebx + 0x10c], 0x18
ja case.0x5aee9b.2
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
test edi, edi
jne 0x5af08c
mov edi, 0x7367f4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x28]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, 6
lea esi, [ebp - 0x28]
lea edi, [ebp - 0x4a]
mov word [ebp - 0x4c], 0xcf
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x4c]
mov byte [ebp - 0x32], 1
push ecx
push 0xcf
jmp 0x5afae7
lea edx, [ebp + 8]
mov dword [ebx + 0xe4], 1
push edx
push 0xd0
mov word [ebp + 8], 0xd0
mov byte [ebp + 0xa], 1
call fcn.00419190
mov ecx, eax
call fcn.00419090
push eax
call fcn.00419190
mov ecx, eax
call fcn.00418f20
mov ecx, 0x8365d0
call fcn.006d81c0
mov ecx, 0x8365d0
call fcn.006d8320
jmp case.0x5aee9b.2
push esi
push esi
push esi
push esi
push 7
jmp 0x5b23cd
push esi
push esi
push esi
push esi
push 6
jmp 0x5b23cd
push esi
push esi
push esi
push esi
push 0x12
jmp 0x5b23cd
push esi
push esi
push esi
push esi
push 0x11
jmp 0x5b23cd
push 7
mov ecx, 0x8365d0
call fcn.006d1980
test eax, eax
je case.0x5aee9b.3
mov ecx, dword [0x839d58]
mov eax, 1
sub eax, ecx
mov dword [0x839d58], eax
je 0x5af252
mov ecx, 0x80fe50
call fcn.00530b80
push 7
mov ecx, 0x8365d0
mov edi, eax
call fcn.006d1980
test eax, eax
je 0x5af22b
push 0x83a340
lea ecx, [ebp - 0xb74]
push str._sChat
mov dword [edi + 0x540], esi
push ecx
xor edi, edi
call fcn.0070dea8
lea edx, [ebp - 0xb74]
push esi
push edx
call fcn.0071a511
add esp, 0x14
test eax, eax
je 0x5af1dd
lea eax, [ebp - 0xb74]
push eax
call fcn.0070f01e
add esp, 4
test eax, eax
jne 0x5af22b
push 0x83a340
push str._sChatChat.txt
push 0x832fe8
call fcn.0070dea8
push esi
push 0x832fe8
call fcn.0071a511
add esp, 0x14
test eax, eax
jne 0x5af22b
inc edi
push edi
push 0x83a340
push str._sChatChat_03d.txt
push 0x832fe8
call fcn.0070dea8
push esi
push 0x832fe8
call fcn.0071a511
add esp, 0x18
test eax, eax
je 0x5af203
lea ecx, [ebp - 0xd0]
push str.Chatting_Auto_Save_Start..
push ecx
call fcn.0070dea8
add esp, 8
lea edx, [ebp - 0xd0]
push esi
push esi
push 0xffff
push edx
jmp 0x5b23cb
lea eax, [ebp - 0xd0]
push str.Chatting_Auto_Save_END
push eax
call fcn.0070dea8
add esp, 8
mov ecx, 0x80fe50
call fcn.00530b80
cmp dword [0x839d58], esi
je 0x5af2c3
push 7
mov ecx, 0x8365d0
call fcn.006d1980
test eax, eax
je 0x5af2c3
push 0x833128
lea ecx, [ebp - 0x274]
push 0x7669d4
push ecx
call fcn.0070dea8
lea edx, [ebp - 0x274]
lea eax, [ebp - 0x374]
push edx
push str._s.bak
push eax
call fcn.0070dea8
add esp, 0x18
mov ecx, 0x833118
call fcn.00543e70
push esi
push esi
lea ecx, [ebp - 0xd0]
push 0xffff
push ecx
jmp 0x5b23cb
mov edi, dword [0x7d6c14]
mov dword [ebp + 8], esi
cmp edi, esi
mov dword [ebp + 0xc], esi
jne 0x5af2eb
mov edi, 0x7367f4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [ebp - 0x144]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [ebp - 0x144]
cmp al, 0x25
jne 0x5af38a
lea edi, [ebp - 0x144]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jbe case.0x5aee9b.2
lea edi, [ebp - 0x143]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [ebp + 8], ecx
push ecx
mov ecx, 0x7d6c10
call fcn.004219f0
test al, al
je 0x5af381
mov eax, dword [ebp + 8]
mov edi, dword [0x7d6c14]
mov ecx, eax
lea esi, [ebp - 0x143]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x7d6c14]
mov dword [0x7d6c18], eax
mov byte [eax + ecx], 0
mov dword [ebp + 8], 1
jmp 0x5af3fe
cmp al, 0x24
jne 0x5af3fe
lea edi, [ebp - 0x144]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 1
jbe case.0x5aee9b.2
lea edi, [ebp - 0x143]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
push 1
mov dword [ebp + 0xc], ecx
push ecx
mov ecx, 0x7d6c10
call fcn.004219f0
test al, al
je 0x5af3f7
mov eax, dword [ebp + 0xc]
mov edi, dword [0x7d6c14]
mov ecx, eax
lea esi, [ebp - 0x143]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x7d6c14]
mov dword [0x7d6c18], eax
mov byte [eax + ecx], 0
mov dword [ebp + 0xc], 1
mov esi, dword [sym.imp.USER32.dll_GetAsyncKeyState]
push 0x11
call esi
xor edx, edx
mov edi, 1
mov dl, ah
test dl, dl
jne 0x5af418
mov edi, dword [ebp + 8]
push 0x12
call esi
xor ecx, ecx
mov esi, 1
mov cl, ah
test cl, cl
jne 0x5af42c
mov esi, dword [ebp + 0xc]
cmp dword [ebp - 0x2c], 0x32
je 0x5af47d
mov eax, dword [0x839cbc]
test eax, eax
je 0x5af452
mov edx, dword [ebx]
push 0
push 0
push 0
push 0xff
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [0x839cd0]
cmp eax, 2
jne 0x5af491
mov eax, dword [0x80ffb4]
test eax, eax
je 0x5af4b9
test esi, esi
jne 0x5af47d
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x81
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push 0
push 0
push 0
push 6
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
cmp eax, 1
jne 0x5af4b9
test edi, edi
jne 0x5af47d
mov ecx, 0x8365d0
call fcn.006c9010
test eax, eax
je 0x5af47d
mov eax, dword [ebx]
push edi
push edi
push edi
push 0x42
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
test edi, edi
je 0x5af4df
mov ecx, 0x8365d0
call fcn.006c9010
test eax, eax
je 0x5af4df
mov eax, dword [ebx]
push 0
push 0
push 0
push 0x42
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
test esi, esi
je 0x5af4fa
mov edx, dword [ebx]
push 0
push 0
push 0
push 0x81
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push 0
push 0
push 0
push 6
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 7
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 1
push 7
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 2
push 7
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 3
push 7
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 4
push 7
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 5
push 7
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x20
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xbe
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0xb5
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xb6
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0xbc
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xb8
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5af5fa
mov eax, 0x7367f4
mov edi, 0x7bd64c
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x5af627
test cl, cl
je 0x5af623
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x5af627
add eax, 2
add edi, 2
test cl, cl
jne 0x5af5ff
xor eax, eax
jmp 0x5af62c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x5af663
push esi
mov ecx, 0x8365d0
call fcn.006c9ab0
lea eax, [ebp - 0x274]
push str.__To_Friends___:__Hi___
push eax
call fcn.0070dea8
add esp, 8
lea eax, [ebp - 0x274]
push 0
push 0
push 0x1effff
jmp 0x5b23ca
mov cl, byte [ebp + 0xb]
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x20], cl
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
mov eax, dword [0x7d6c14]
mov byte [ebp - 4], 1
cmp eax, esi
jne 0x5af689
mov esi, 0x7367f4
mov dword [ebp + 8], esi
jmp 0x5af68e
mov dword [ebp + 8], eax
mov esi, eax
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [ebp - 0x20]
push ebx
call fcn.004219f0
test al, al
je 0x5af6cb
mov edi, dword [ebp - 0x1c]
mov ecx, ebx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x18], ebx
mov byte [ebx + eax], 0
push esi
mov ecx, 0x8365d0
call fcn.006c9ab0
mov eax, dword [0x80fe3c]
test eax, eax
mov eax, dword [ebp - 0x1c]
jne 0x5af702
test eax, eax
jne 0x5af6eb
mov eax, 0x7367f4
push eax
lea ecx, [ebp - 0x274]
push str.__To_Friends___:__Hi___s
push ecx
call fcn.0070dea8
add esp, 0xc
jmp 0x5af72e
test eax, eax
jne 0x5af70b
mov eax, 0x7367f4
mov ecx, dword [0x80f6bc]
push eax
push 0
call fcn.00529090
push eax
lea edx, [ebp - 0x274]
push str.__To_Friends___:__Hi___s_s
push edx
call fcn.0070dea8
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0
test eax, eax
je 0x5af768
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5af75f
cmp al, 0xff
je 0x5af75f
dec al
push 0
mov byte [ecx], al
push 0
push 0x1effff
lea eax, [ebp - 0x274]
jmp 0x5b23ca
push ecx
call fcn.006ffa16
add esp, 4
push 0
push 0
push 0x1effff
lea eax, [ebp - 0x274]
jmp 0x5b23ca
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xf8
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0xf9
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xfc
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov edi, 0x20
mov eax, dword [ebx]
push esi
push esi
push str.LEVEL
push 0x5b
mov ecx, ebx
call dword [eax + 0x18]
dec edi
jne 0x5af7bd
jmp case.0x5aee9b.2
mov edi, 5
mov edx, dword [ebx]
push esi
push esi
push str.SPPOINT
push 0x5b
mov ecx, ebx
call dword [edx + 0x18]
mov eax, dword [ebx]
push esi
push esi
push str.JOBLEVEL
push 0x5b
mov ecx, ebx
call dword [eax + 0x18]
dec edi
jne 0x5af7da
jmp case.0x5aee9b.2
mov ecx, dword [ebx + 0xb4]
sub esp, 8
mov eax, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0x40]
add eax, 4
mov edx, dword [eax + 8]
fld dword [eax]
mov eax, dword [ecx + 0x110]
mov dword [ebp - 0x2c], edx
fild dword [ecx + 0x118]
cdq
fstp dword [ebp + 8]
sub eax, edx
sar eax, 1
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fxch st(1)
fdiv dword [ebp + 8]
faddp st(1)
fstp qword [esp]
call fcn.007101e8
call fcn.0070e470
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0xb4]
mov ecx, dword [eax + 0x40]
mov eax, dword [ecx + 0x114]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp + 0xc], eax
fild dword [ebp + 0xc]
fld dword [ebp - 0x2c]
fdiv dword [ebp + 8]
faddp st(1)
fstp qword [esp]
call fcn.007101e8
add esp, 8
call fcn.0070e470
lea esi, [ebx + 0x50]
mov dword [ebp + 0xc], eax
xor eax, eax
mov edi, esi
or ecx, 0xffffffff
mov dword [ebp + 8], esi
repne scasb al, byte es:[edi]
mov dl, byte [ebp + 0xb]
push 1
not ecx
dec ecx
mov byte [ebp - 0x20], dl
mov ebx, ecx
lea ecx, [ebp - 0x20]
push ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
call fcn.004219f0
test al, al
je 0x5af8d4
mov edi, dword [ebp - 0x1c]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x18], ebx
mov byte [ebx + ecx], 0
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 2
cmp eax, 4
jbe 0x5af94e
lea edi, [eax - 4]
cmp eax, edi
jb 0x5af941
mov ebx, dword [0x7367f0]
jae 0x5af8f4
call fcn.00701187
lea ecx, [ebp - 0x20]
call fcn.00421b30
mov eax, dword [ebp - 0x18]
sub eax, edi
cmp eax, ebx
jae 0x5af907
mov ebx, eax
test ebx, ebx
jbe 0x5af94e
mov edx, dword [ebp - 0x1c]
sub eax, ebx
push eax
lea ecx, [edi + edx]
lea edx, [ecx + ebx]
push edx
push ecx
call fcn.0070e7e0
mov edi, dword [ebp - 0x18]
add esp, 0xc
sub edi, ebx
lea ecx, [ebp - 0x20]
push 0
push edi
call fcn.004219f0
test al, al
je 0x5af94e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov byte [eax + edi], 0
jmp 0x5af94e
sub edi, eax
push 0
push edi
lea ecx, [ebp - 0x20]
call fcn.0041fe10
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x5af95a
mov eax, 0x7367f4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
push ecx
push edx
push eax
push esi
mov ecx, 0x8365d0
call fcn.006d1c60
push eax
lea eax, [ebp - 0xc8]
push str._s__s__:__d___d
push eax
call fcn.0070dea8
add esp, 0x18
mov ecx, 0x7d67b0
push 0
push 0
push 0
push 0
push 3
call fcn.00510520
push 0
push 0
lea ecx, [ebp - 0xc8]
push 0x64ffff
push ecx
push 1
mov ecx, 0x7d67b0
call fcn.00510520
cmp dword [0x80fe3c], 0xa
je 0x5af9d8
push 0
push 0
lea edx, [ebp - 0xc8]
push 0x64ffff
push edx
push 0x13
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [ebp - 0x1c]
test eax, eax
je case.0x5aee9b.2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b1642
cmp al, 0xff
je 0x5b1642
dec al
mov byte [ecx], al
jmp case.0x5aee9b.2
mov eax, dword [0x839c74]
mov edx, 1
sub edx, eax
lea esi, [ebx + 0x50]
mov dword [0x839c74], edx
mov edi, esi
mov eax, str.xmas_fild01.rsw
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x5afa42
test cl, cl
je 0x5afa3e
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x5afa42
add eax, 2
add edi, 2
test cl, cl
jne 0x5afa1e
xor eax, eax
jmp 0x5afa47
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5afa7f
mov edi, esi
mov eax, str.xmas.rsw
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x5afa76
test cl, cl
je 0x5afa72
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x5afa76
add eax, 2
add edi, 2
test cl, cl
jne 0x5afa52
xor eax, eax
jmp 0x5afa7b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5afa94
test edx, edx
mov ecx, 0x835b08
je 0x5afa8f
call fcn.006b9c80
jmp 0x5afa94
call fcn.006b9d00
push 0
push 0
push 0
push 0
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x839c74]
push 0
test eax, eax
push 0
push 0x64ffff
je 0x5afb05
push 0x17
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
lea eax, [ebp - 0x18]
mov word [ebp - 0x18], 0x21d
mov dword [ebp - 0x16], 0
push eax
push 0x21d
call fcn.00419190
mov ecx, eax
call fcn.00419090
push eax
call fcn.00419190
mov ecx, eax
call fcn.00418f20
jmp case.0x5aee9b.2
push 0x18
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
lea ecx, [ebp - 0x18]
mov word [ebp - 0x18], 0x21d
mov dword [ebp - 0x16], 1
push ecx
jmp 0x5afae2
mov edx, dword [ebx + 0xb4]
xor eax, eax
push esi
mov edi, dword [edx + 0x3c]
cmp dword [edi + 0x28], 2
fld dword [edi + 0x38]
setne al
inc eax
mov dword [edi + 0x28], eax
mov edx, dword [ebx]
mov ecx, eax
mov dword [ebp + 8], edx
push ecx
call fcn.0070e470
mov ecx, eax
mov eax, 0xb60b60b7
add ecx, 0xb4
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
and edx, 0x80000007
jns 0x5afb7e
dec edx
or edx, 0xfffffff8
inc edx
push edx
mov edx, dword [ebp + 8]
push 0x8b
mov ecx, ebx
call dword [edx + 0x18]
cmp dword [edi + 0x5c], 6
jne case.0x5aee9b.2
lea edi, [ebx + 0x51c]
mov ecx, 5
mov eax, edi
mov edx, dword [eax + 4]
mov dword [eax], edx
add eax, 4
dec ecx
jne 0x5afba3
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [edi]
mov dword [ebx + 0x530], eax
sub eax, edx
cmp eax, 0xbb8
jae case.0x5aee9b.2
cmp eax, 0x5dc
jbe case.0x5aee9b.2
mov eax, dword [ebx]
push 0
push 0
push 0
push 0xaa
mov ecx, ebx
call dword [eax + 0x18]
mov ecx, 6
xor eax, eax
rep stosd dword es:[edi], eax
jmp case.0x5aee9b.2
mov edx, dword [0x839ca4]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x839ca4], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x839ca4]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5afc31
push 0x13d
jmp 0x5b23c2
push 0x13e
jmp 0x5b23c2
mov ecx, dword [0x839c40]
push esi
mov edx, 1
push esi
push esi
sub edx, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839c40], edx
call fcn.00510520
mov eax, dword [0x839c40]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5afc78
push 0x2bd
jmp 0x5b23c2
push 0x2be
jmp 0x5b23c2
mov ecx, dword [0x839c44]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839c44], eax
call fcn.00510520
mov eax, dword [0x839c44]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5afcbe
push 0x2cd
jmp 0x5b07c6
push 0x2ce
jmp 0x5b07c6
mov ecx, dword [0x839c48]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839c48], eax
call fcn.00510520
mov eax, dword [0x839c48]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5afd04
push 0x352
jmp 0x5b23c2
push 0x353
jmp 0x5b23c2
mov edx, dword [0x839c3c]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x839c3c], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x839c3c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5afd4b
push 0x2c7
jmp 0x5b23c2
push 0x2c8
jmp 0x5b23c2
mov al, byte [0x839cb1]
test al, al
je 0x5afd76
push esi
push esi
push 0x6e96ff
mov byte [0x839cb1], 0
push str.RANDOM_LOADING_SCREEN_ON
jmp 0x5b23cb
push esi
push esi
push 0x6e96ff
mov byte [0x839cb1], 1
push str.RANDOM_LOADING_SCREEN_OFF
jmp 0x5b23cb
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x70
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x6b
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x6c
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x8c
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x70
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x6b
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x6c
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x77
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x78
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x8c
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x70
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x6b
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x6c
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x8c
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0xa4
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x86
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0xa6
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x77
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x80fe54]
push esi
push esi
push 0x78
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov ecx, dword [0x839c4c]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839c4c], eax
call fcn.00510520
mov eax, dword [0x839c4c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5aff33
push 0x2da
jmp 0x5b23c2
push 0x2db
jmp 0x5b23c2
mov edx, dword [0x839c50]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x839c50], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x839c50]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5aff7a
push 0x414
jmp 0x5b23c2
push 0x415
jmp 0x5b23c2
mov ecx, dword [0x839c54]
push esi
mov edx, 1
push esi
push esi
sub edx, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839c54], edx
call fcn.00510520
mov eax, dword [0x839c54]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5affc1
push 0x454
jmp 0x5b23c2
push 0x455
jmp 0x5b23c2
mov ecx, dword [0x839c58]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839c58], eax
call fcn.00510520
mov eax, dword [0x839c58]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b0007
push 0x2fd
jmp 0x5b23c2
push 0x2fe
jmp 0x5b23c2
mov edx, dword [0x839c5c]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x839c5c], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x839c5c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b004e
push 0x300
jmp 0x5b23c2
push 0x301
jmp 0x5b23c2
mov ecx, dword [0x839cbc]
push esi
mov edx, 1
push esi
push esi
sub edx, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839cbc], edx
call fcn.00510520
mov eax, dword [0x839cbc]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b0095
push 0x555
jmp 0x5b23c2
push 0x556
jmp 0x5b23c2
mov ecx, dword [0x839c68]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839c68], eax
call fcn.00510520
mov eax, dword [0x839c68]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b00db
push 0x2de
jmp 0x5b23c2
push 0x2dd
jmp 0x5b23c2
mov edx, dword [0x839c6c]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x839c6c], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x839c6c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b0122
push 0x38d
jmp 0x5b23c2
push 0x38c
jmp 0x5b23c2
mov ecx, dword [0x839c70]
push esi
mov edx, 1
push esi
push esi
sub edx, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839c70], edx
call fcn.00510520
mov eax, dword [0x839c70]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b0169
push 0x325
jmp 0x5b23c2
push 0x326
jmp 0x5b23c2
mov eax, dword [ebx + 0xb4]
cmp dword [eax + 0x5c], esi
je case.0x5aee9b.2
mov eax, dword [0x838074]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1a], eax
mov eax, dword [0x838078]
push ecx
push 0x20f
mov word [ebp - 0x1c], 0x20f
mov dword [ebp - 0x16], eax
call fcn.00419190
mov ecx, eax
call fcn.00419090
push eax
call fcn.00419190
mov ecx, eax
call fcn.00418f20
jmp case.0x5aee9b.2
mov cl, byte [0x839ef0]
push esi
test cl, cl
push esi
push esi
sete dl
push esi
push 3
mov ecx, 0x7d67b0
mov byte [0x839ef0], dl
call fcn.00510520
mov al, byte [0x839ef0]
test al, al
je 0x5b01fa
push 0x74
mov ecx, 0x7d67b0
call fcn.0050a1e0
jmp case.0x5aee9b.2
push esi
push esi
push 0x64ffff
push 0x3af
jmp 0x5b23c2
mov ecx, dword [0x839e48]
xor eax, eax
push esi
cmp ecx, esi
push esi
push esi
sete al
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839e48], eax
call fcn.00510520
cmp dword [0x839e48], esi
je 0x5b033f
lea ecx, [ebp - 0x274]
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [ebp - 0x274]
push str.data
push edx
call fcn.0070eea0
add esp, 8
cmp eax, esi
je 0x5b0287
lea ecx, [ebp - 0x274]
lea esi, [ebp - 0x274]
sub eax, ecx
lea edi, [ebp - 0x274]
mov ecx, eax
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str.TraceAI.txt
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0x274]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0xe0]
call fcn.00543c00
lea eax, [ebp - 0x274]
push 0x1001
push eax
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 3
call fcn.00543c50
mov edi, 0x7bd64c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7bd64c
lea ecx, [ebp - 0xe0]
call fcn.00543f30
lea ecx, [ebp - 0xe0]
call fcn.00543e70
push 0
push 0
push 0x64ffff
push 0x3bc
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0
call fcn.00543c10
jmp case.0x5aee9b.2
push esi
push esi
push 0x64ffff
push 0x3bd
jmp 0x5b23c2
mov edx, dword [0x839e4c]
xor ecx, ecx
cmp edx, esi
push esi
sete cl
push esi
push esi
mov dword [0x839e4c], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x839e4c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b038d
push 0x3ff
jmp 0x5b23c2
push 0x400
jmp 0x5b23c2
mov ecx, dword [0x839edc]
xor edx, edx
push esi
cmp ecx, esi
push esi
push esi
sete dl
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x839edc], edx
call fcn.00510520
mov eax, dword [0x839edc]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b03d4
push 0x4f9
jmp 0x5b23c2
push 0x4fa
jmp 0x5b23c2
mov eax, dword [ebx + 0xb4]
mov ecx, dword [eax + 0x3c]
fld dword [ecx + 0x38]
fadd dword [0x745700]
fcom dword [0x73695c]
fst dword [ecx + 0x38]
fnstsw ax
test ah, 1
jne 0x5b040b
fsub dword [0x73695c]
fstp dword [ecx + 0x38]
jmp 0x5b040d
fstp st(0)
fld dword [ecx + 0x38]
mov edi, dword [ebx]
push esi
push esi
call fcn.0070e470
mov ecx, eax
mov eax, 0xb60b60b7
add ecx, 0xb4
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
and edx, 0x80000007
jns 0x5b04a1
jmp 0x5b049c
mov edx, dword [ebx + 0xb4]
mov ecx, dword [edx + 0x3c]
fld dword [ecx + 0x38]
fsub dword [0x745700]
fcom dword [0x736698]
fst dword [ecx + 0x38]
fnstsw ax
test ah, 1
je 0x5b046b
fadd dword [0x73695c]
fstp dword [ecx + 0x38]
jmp 0x5b046d
fstp st(0)
fld dword [ecx + 0x38]
mov edi, dword [ebx]
push esi
push esi
call fcn.0070e470
mov ecx, eax
mov eax, 0xb60b60b7
add ecx, 0xb4
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
and edx, 0x80000007
jns 0x5b04a1
dec edx
or edx, 0xfffffff8
inc edx
push edx
push 0x8b
mov ecx, ebx
call dword [edi + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [0x83427c]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x83427c], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x83427c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b04ee
push 0x13f
jmp 0x5b23c2
push 0x140
jmp 0x5b23c2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b0504
mov eax, 0x7367f4
push eax
call fcn.0070ebf7
mov edi, eax
add esp, 4
cmp edi, 0x7f
jle 0x5b051b
mov edi, 0x7f
jmp 0x5b0521
cmp edi, esi
jge 0x5b0521
xor edi, edi
push edi
call fcn.0041ba90
push edi
call fcn.0041bad0
add esp, 8
push edi
push 0x19
call fcn.0057ed70
add esp, 4
lea edx, [ebp - 0xc8]
push eax
push str._s__d
push edx
call fcn.0070dea8
add esp, 0x10
lea eax, [ebp - 0xc8]
push esi
push esi
push 0x64ffff
jmp 0x5b07ce
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b056e
mov eax, 0x7367f4
push eax
call fcn.0070ebf7
mov edi, eax
add esp, 4
cmp edi, 0x7f
jle 0x5b0585
mov edi, 0x7f
jmp 0x5b058b
cmp edi, esi
jge 0x5b058b
xor edi, edi
push edi
mov dword [0x837a44], edi
call fcn.0041ba40
add esp, 4
push edi
push 0x1a
call fcn.0057ed70
add esp, 4
push eax
lea eax, [ebp - 0xc8]
push str._s__d
push eax
call fcn.0070dea8
add esp, 0x10
lea ecx, [ebp - 0xc8]
push esi
push esi
push 0x64ffff
push ecx
jmp 0x5b07cf
mov ecx, dword [0x766544]
mov eax, 1
sub eax, ecx
mov dword [0x766544], eax
je 0x5b05f5
push esi
push esi
push 0x64ffff
mov dword [0x839c88], esi
push 0x1b
jmp 0x5b07c6
push esi
push esi
push 0x64ffff
push 0x1c
jmp 0x5b07c6
mov ecx, dword [0x839c88]
mov eax, 1
sub eax, ecx
push esi
push esi
mov dword [0x839c88], eax
push 0x64ffff
je 0x5b0628
push 0x5da
jmp 0x5b23c2
push 0x5db
jmp 0x5b23c2
mov edx, dword [0x797c38]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x797c38], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x797c38]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b066c
push 0x1d
jmp 0x5b23c2
push 0x1e
jmp 0x5b23c2
mov eax, dword [0x839c7c]
mov edx, 1
sub edx, eax
mov dword [0x839c7c], edx
je 0x5b06a2
mov ebx, dword [ebx + 0x118]
cmp ebx, esi
jne 0x5b0696
mov ebx, 0x7367f4
push esi
push ebx
call fcn.0041bb30
add esp, 8
jmp 0x5b06a7
call fcn.0041ba00
push esi
push esi
push esi
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x839c7c]
push esi
cmp eax, esi
push esi
push 0x64ffff
jne 0x5b06cb
push 0x20
jmp 0x5b06cd
push 0x1f
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
mov ecx, dword [0x7d6990]
cmp ecx, esi
je case.0x5aee9b.2
mov eax, dword [ecx]
push esi
push esi
push esi
push esi
push 0x3c
push esi
call dword [eax + 0x90]
jmp case.0x5aee9b.2
mov edx, dword [0x837a64]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x837a64], ecx
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov eax, dword [0x837a64]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b0741
push 0x10f
jmp 0x5b07c6
push pe_nt_image_headers32
jmp 0x5b07c6
mov ecx, dword [0x837a58]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x837a58], eax
call fcn.00510520
mov eax, dword [0x837a58]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b0781
push 0x114
jmp 0x5b07c6
push 0x115
jmp 0x5b07c6
mov ecx, dword [0x837a60]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7d67b0
mov dword [0x837a60], eax
call fcn.00510520
mov eax, dword [0x837a60]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b07c1
push 0x111
jmp 0x5b07c6
push 0x112
call fcn.0057ed70
add esp, 4
push eax
push 1
mov ecx, 0x7d67b0
call fcn.00510520
mov ecx, dword [0x7d6990]
cmp ecx, esi
je case.0x5aee9b.2
mov edx, dword [ecx]
push esi
push esi
push esi
push esi
push 0x3c
push esi
call dword [edx + 0x90]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0xe
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xf
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx + 0xb4]
mov ecx, dword [eax + 0x3c]
cmp ecx, esi
je case.0x5aee9b.2
mov edx, dword [ecx]
push esi
push esi
push esi
push 0x1e
push esi
call dword [edx + 8]
jmp case.0x5aee9b.2
mov eax, dword [ebx + 0xb4]
mov ecx, dword [eax + 0x3c]
cmp ecx, esi
je case.0x5aee9b.2
mov edx, dword [ecx]
push esi
push esi
push esi
push 0x1f
push esi
call dword [edx + 8]
jmp case.0x5aee9b.2
push esi
push esi
push esi
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
push esi
push esi
push 0xffff64
push 0xb1
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x21
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x22
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x23
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x24
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x25
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x26
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x27
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x28
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x29
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2a
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2d
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2e
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x6b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x84
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x85
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x86
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x87
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x89
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x8a
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x8b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x30
call fcn.0057ed70
add esp, 4
push eax
push 1
mov ecx, 0x7d67b0
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x6c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x8c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x8d
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x8e
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x9a
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x9b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x9c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x9d
call fcn.0057ed70
add esp, 4
push eax
push 1
mov ecx, 0x7d67b0
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x9e
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0xad
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0xd3
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x113
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x139
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x141
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x15d
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2e0
call fcn.0057ed70
add esp, 4
push eax
push 1
mov ecx, 0x7d67b0
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x354
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x38b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2d7
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2d8
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2c6
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2cb
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x303
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2df
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2d4
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2ff
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x310
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x396
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x324
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x313
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x314
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x31b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x31c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x39c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x39b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x351
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2d9
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2dc
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2bc
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x2cc
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x302
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x413
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x453
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x39d
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
call fcn.0070e724
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 4
jge 0x5b1143
push esi
push esi
push 0xffff64
push 0x399
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x39a
jmp 0x5b1181
call fcn.0070e724
cdq
mov ecx, 5
idiv ecx
cmp edx, 2
jge 0x5b1163
push esi
push esi
push 0xffff64
push 0x2f8
jmp 0x5b1181
call fcn.0070e724
cdq
mov ecx, 3
idiv ecx
cmp edx, 2
jge 0x5b1196
push esi
push esi
push 0xffff64
push 0x315
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x5dc
jmp 0x5b23c2
mov eax, dword [0x7d6a8c]
cmp eax, esi
mov eax, dword [0x7d6a94]
jne 0x5b11ca
cmp eax, esi
jne 0x5b11ce
push 0x1b
mov ecx, 0x7d67b0
call fcn.0050a1e0
jmp case.0x5aee9b.2
cmp eax, esi
je 0x5b11f5
push str.message
push esi
push esi
push 1
push esi
push 0x24b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
call fcn.005069d0
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0x52
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x30
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b1223
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x6a
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b1240
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x70
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b125d
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x3a
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b127a
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x106
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b129a
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x109
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b12ba
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x5b
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov ecx, dword [eax + 0x24]
mov esi, 0x7367f4
test ecx, ecx
jne 0x5b12d9
mov ecx, esi
mov edx, dword [eax + 0x14]
mov dword [ebp + 8], esi
test edx, edx
je 0x5b12e6
mov dword [ebp + 8], edx
mov eax, dword [eax + 4]
test eax, eax
je 0x5b12ef
mov esi, eax
mov edi, dword [ebx]
push ecx
call fcn.0070ebf7
add esp, 4
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0070ebf7
add esp, 4
mov ecx, ebx
push eax
push esi
push 0x5c
call dword [edi + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b1321
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x9c
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b1341
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x9d
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b1361
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x9e
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b1381
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x9f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b13a1
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0xb2
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b13c1
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0xb3
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b13e1
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0xa2
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b1401
mov eax, 0x7367f4
mov edi, dword [ebx]
push esi
push esi
push eax
call fcn.0070ebf7
add esp, 4
mov ecx, ebx
push eax
push 0x9b
call dword [edi + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b142a
mov eax, 0x7367f4
push eax
call fcn.0070ebf7
mov edx, dword [ebx]
add esp, 4
neg eax
push esi
push esi
push eax
push 0x9b
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x3d
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
mov dword [ebp + 8], 0x7367f4
cmp eax, esi
je 0x5b146b
mov dword [ebp + 8], eax
mov cl, byte [ebp + 0xb]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x20], cl
xor esi, esi
xor edx, edx
or ecx, 0xffffffff
xor eax, eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], esi
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edi, ecx
cmp edi, 0xfffffffd
mov dword [ebp + 0xc], edi
jbe 0x5b14c5
call fcn.0070103b
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, ecx
je 0x5b14c2
mov al, byte [edx - 1]
test al, al
je 0x5b14c2
cmp al, 0xff
je 0x5b14c2
cmp edi, ecx
jne 0x5b14e8
dec al
mov byte [edx - 1], al
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
jmp 0x5b1516
mov esi, dword [ebp - 0x14]
test edi, edi
jne 0x5b14d5
push 1
lea ecx, [ebp - 0x20]
call fcn.00420210
jmp 0x5b1516
cmp esi, 0x1f
ja 0x5b14de
cmp esi, edi
jae 0x5b14f4
push 1
lea ecx, [ebp - 0x20]
call fcn.00420210
push edi
lea ecx, [ebp - 0x20]
call fcn.00421da0
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov ecx, eax
mov edi, edx
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov byte [ecx + eax], 0
lea edx, [ebp - 0x20]
mov byte [ebp - 4], 4
push edx
call fcn.0054c450
mov edi, 0x788d44
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
mov edx, dword [ebp - 0x18]
not ecx
dec ecx
cmp edx, edx
mov dword [ebp + 8], ecx
mov eax, edx
jae 0x5b1541
cmp eax, ecx
jb 0x5b1547
mov eax, ecx
mov esi, dword [ebp - 0x1c]
mov ecx, eax
mov edi, 0x788d44
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x5b155c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5b1572
mov edi, dword [ebp + 8]
mov esi, edx
cmp esi, edi
jb 0x5b1572
cmp esi, edi
setne al
test eax, eax
je 0x5b15c3
mov edi, 0x76824c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, edx
mov dword [ebp + 8], ecx
mov eax, edx
jae 0x5b158a
cmp eax, ecx
jb 0x5b1590
mov eax, ecx
mov esi, dword [ebp - 0x1c]
mov ecx, eax
mov edi, 0x76824c
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x5b15a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5b15bb
mov edi, dword [ebp + 8]
mov esi, edx
cmp esi, edi
jb 0x5b15bb
cmp esi, edi
setne al
test eax, eax
je 0x5b15c3
mov eax, dword [ebp - 0x1c]
jmp 0x5af9db
mov edi, 0x788d44
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, edx
mov dword [ebp + 8], ecx
mov eax, edx
jae 0x5b15db
cmp eax, ecx
jae 0x5b15e1
mov ecx, eax
mov esi, dword [ebp - 0x1c]
mov edi, 0x788d44
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x5b15f4
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x5b160b
mov esi, dword [ebp + 8]
cmp eax, esi
jae 0x5b1604
or edx, 0xffffffff
jmp 0x5b160b
xor edx, edx
cmp eax, esi
setne dl
xor eax, eax
push 0
test edx, edx
mov edx, dword [ebx]
push 0
setne al
push eax
push 0x55
mov ecx, ebx
call dword [edx + 0x18]
mov eax, dword [ebp - 0x1c]
test eax, eax
je case.0x5aee9b.2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b1642
cmp al, 0xff
je 0x5b1642
dec al
mov byte [ecx], al
jmp case.0x5aee9b.2
push ecx
call fcn.006ffa16
add esp, 4
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b165c
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x3e
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
mov dword [ebp + 0xc], 0x7367f4
cmp eax, esi
je 0x5b167e
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x138]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [ebp + 8], ecx
je case.0x5aee9b.2
mov edi, dword [ebp + 0xc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [ebp + 8]
not ecx
mov eax, dword [eax + 0x18]
dec ecx
cmp eax, ecx
mov dword [ebp - 0x30], ecx
jae 0x5b16ad
mov ecx, eax
mov edx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov esi, dword [edx + 0x14]
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x5b16c1
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x5b16d9
mov esi, dword [ebp - 0x30]
cmp eax, esi
jb 0x5b16d9
cmp eax, esi
setne dl
test edx, edx
je 0x5b1759
lea ecx, [ebp - 0x14]
call fcn.006ffa21
mov esi, dword [ebp + 8]
mov ecx, dword [0x8343b4]
mov byte [ebp - 4], 5
mov eax, dword [esi + 8]
cmp eax, ecx
je 0x5b171d
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.006ffa21
mov eax, dword [esi]
mov ecx, dword [0x8343b4]
cmp eax, ecx
je 0x5b1713
mov esi, eax
mov eax, dword [esi]
cmp eax, ecx
jne 0x5b170b
lea ecx, [ebp - 0x2c]
call fcn.006ffabd
jmp 0x5b1739
mov eax, dword [esi + 4]
cmp esi, dword [eax + 8]
jne 0x5b1732
mov esi, eax
mov eax, dword [eax + 4]
mov dword [ebp + 8], esi
cmp esi, dword [eax + 8]
je 0x5b1725
cmp dword [esi + 8], eax
je 0x5b173c
mov esi, eax
mov dword [ebp + 8], esi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.006ffabd
cmp esi, dword [ebx + 0x138]
jne 0x5b1691
jmp case.0x5aee9b.2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x5aee9b.2
mov edx, dword [ebx]
push 0
push 0
push eax
push 0x31
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov ecx, dword [ebx + 0x424]
xor eax, eax
cmp ecx, esi
sete al
mov dword [ebx + 0x424], eax
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 1
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 2
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 3
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 4
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x4b
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
push 0x26
mov ecx, 0x7d67b0
call fcn.00507160
test al, al
jne case.0x5aee9b.2
push 0x26
mov ecx, 0x7d67b0
call fcn.0050a1e0
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 5
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 6
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 7
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 8
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 9
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0xa
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0xb
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0xc
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0xe
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0xf
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x10
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x11
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x12
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x13
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x14
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x15
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x16
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x17
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x18
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x19
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x1a
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x1b
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x1c
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x1d
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x1e
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x1f
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x20
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x21
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x24
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x25
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x26
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x27
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x28
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x29
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x2a
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x2b
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x2c
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x2d
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x2e
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x2f
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x34
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x35
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x36
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x37
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x38
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x39
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
call fcn.0070e724
cdq
mov ecx, 6
push esi
idiv ecx
mov eax, dword [ebx]
push esi
mov ecx, ebx
add edx, 0x3a
push edx
push 0x1f
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x41
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x44
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x45
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x46
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x47
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x48
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x49
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x4a
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x4b
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x4c
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x4d
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x4e
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 0x4f
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push 0x50
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
push esi
push esi
push 0xffff64
push 0x25d
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x224
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x22b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x22c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x22d
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x22e
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x22f
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x230
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x231
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x232
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x233
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x234
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x235
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x236
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x237
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x238
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x239
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x23a
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x23b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x23c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x23d
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x304
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x305
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x306
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x307
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x308
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x309
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x30a
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x30b
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x30c
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x30d
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x30e
call fcn.0057ed70
add esp, 4
mov ecx, 0x7d67b0
push eax
push 1
call fcn.00510520
push esi
push esi
push 0xffff64
push 0x30f
jmp 0x5b23c2
mov edx, dword [0x839c38]
mov eax, 1
sub eax, edx
mov ecx, ebx
push eax
mov dword [0x839c38], eax
call fcn.005ae930
mov eax, dword [0x839c38]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b20dc
push str.Fog_On
jmp 0x5b20e1
push str.Fog_Off
push 1
mov ecx, 0x7d67b0
call fcn.00510520
mov ecx, dword [0x7d6990]
cmp ecx, esi
je case.0x5aee9b.2
mov edx, dword [ecx]
push esi
push esi
push esi
push esi
push 0x3c
push esi
call dword [edx + 0x90]
jmp case.0x5aee9b.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x8e
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [ebx]
push esi
push esi
push 1
push 0x8e
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov ecx, dword [eax + 0x24]
mov esi, 0x7367f4
test ecx, ecx
jne 0x5b2146
mov ecx, esi
mov edx, dword [eax + 0x14]
mov dword [ebp + 8], esi
test edx, edx
je 0x5b2153
mov dword [ebp + 8], edx
mov eax, dword [eax + 4]
test eax, eax
je 0x5b215c
mov esi, eax
mov edi, dword [ebx]
push ecx
call fcn.0070ebf7
add esp, 4
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.0070ebf7
add esp, 4
push eax
push esi
call fcn.0070ebf7
add esp, 4
mov ecx, ebx
push eax
push 0x8f
call dword [edi + 0x18]
jmp case.0x5aee9b.2
mov al, byte [0x839d54]
push esi
test al, al
push esi
push 0xffff
je 0x5b21bb
push str.Guild_Emblem_Off
push 1
mov ecx, 0x7d67b0
call fcn.00510520
mov byte [0x839d54], 0
jmp case.0x5aee9b.2
push str.Guild_Emblem_On
push 1
mov ecx, 0x7d67b0
call fcn.00510520
mov byte [0x839d54], 1
jmp case.0x5aee9b.2
mov eax, dword [0x837a04]
push eax
mov dword [ebp + 8], eax
call fcn.006d9db0
add esp, 4
test al, al
je 0x5b21f8
lea ecx, [ebp + 8]
push ecx
call fcn.006da060
jmp 0x5b2201
lea edx, [ebp + 8]
push edx
call fcn.006da050
mov eax, dword [ebx]
add esp, 4
mov ecx, ebx
push esi
push esi
push 0x40
push 0x90
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov ecx, dword [ebx + 0x424]
inc ecx
mov eax, ecx
mov dword [ebx + 0x424], ecx
cmp eax, 4
jne case.0x5aee9b.2
mov dword [ebx + 0x424], esi
jmp case.0x5aee9b.2
mov bl, byte [0x839cb0]
test bl, bl
sete cl
mov byte [0x839cb0], cl
mov eax, dword [0x839cb0]
and eax, 0xff
mov ecx, 0x8365d0
push eax
push eax
call fcn.0052edd0
push esi
push esi
push esi
push esi
push 3
mov ecx, 0x7d67b0
call fcn.00510520
mov al, byte [0x839cb0]
push esi
test al, al
push esi
push 0x64ffff
je 0x5b228d
push 0x2d2
jmp 0x5b23c2
push 0x2d3
jmp 0x5b23c2
mov edx, dword [0x797c40]
xor eax, eax
cmp edx, esi
sete al
cmp eax, 1
mov dword [0x797c40], eax
sete dl
mov byte [0x835b09], dl
jmp case.0x5aee9b.2
mov eax, dword [0x838074]
push eax
call fcn.0052eda0
add esp, 4
test al, al
je case.0x5aee9b.2
mov dl, byte [ebx + 0x559]
push esi
test dl, dl
sete al
test al, al
push esi
mov byte [ebx + 0x559], al
push 0x64ffff
je 0x5b22f6
push str.Copy_Name_On__
jmp 0x5b23cb
push str.Copy_Name_Off__
jmp 0x5b23cb
mov eax, 0xb5
lea edx, [ebp + 8]
sub eax, edi
push edx
setne cl
push 0x2c8
mov word [ebp + 8], 0x2c8
mov byte [ebp + 0xa], cl
call fcn.00419190
mov ecx, eax
call fcn.00419090
push eax
call fcn.00419190
mov ecx, eax
call fcn.00418f20
jmp case.0x5aee9b.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b2346
mov eax, 0x7367f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x3b
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5aee9b.2
mov edi, dword [0x839f5c]
mov eax, dword [ebx]
xor ecx, ecx
cmp edi, esi
push esi
push esi
sete cl
push ecx
push 0xfe
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5aee9b.2
mov edx, dword [0x839f98]
xor eax, eax
cmp edx, esi
sete al
cmp eax, esi
mov dword [0x839f98], eax
je 0x5b2399
push esi
push esi
push 0x64ffff
push 0x6a6
jmp 0x5b23c2
mov ebx, dword [ebx + 0x55c]
cmp ebx, esi
je 0x5b23ab
mov edx, dword [ebx]
push esi
mov ecx, ebx
call dword [edx + 0x40]
push esi
push esi
push 0x64ffff
push 0x6a7
jmp 0x5b23c2
push esi
push esi
push 0xffff
push 0x5f
call fcn.0057ed70
add esp, 4
push eax
push 1
mov ecx, 0x7d67b0
call fcn.00510520
push fcn.0041ed20
push 3
lea eax, [ebp - 0x174]
push 0x10
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.0070e2fa
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8