Function at 0x5b2540
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x733bc1
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.0041ed10
push 0x42b1d0
push 3
lea eax, [ebp - 0x174]
push 0x10
mov ebx, ecx
push eax
mov dword [ebp - 0x2c], edi
call fcn.0071236e
mov ecx, dword [ebp + 0xc]
xor esi, esi
cmp ecx, esi
mov dword [ebp - 4], esi
lea eax, [ebp - 0x174]
je 0x5b2597
mov eax, ecx
cmp dword [0x81424c], 0xf
jne 0x5b25af
cmp edi, 6
jne 0x5b25af
mov edi, 3
mov dword [ebp - 0x2c], edi
jmp switch.0x005b25bb
cmp edi, 0xc8
ja case.0x5b25bb.2
jmp dword [edi*4 + 0x5b5b28]
lea ecx, [ebp + 0xa]
mov word [ebp + 0xa], 0xd3
push ecx
push 0xd3
jmp 0x5b3207
lea edx, [ebp + 8]
mov dword [ebx + 0xe4], 1
push edx
mov word [ebp + 8], 0xd0
mov byte [ebp + 0xa], 0
push 0xd0
jmp 0x5b3207
mov eax, dword [eax + 4]
cmp eax, esi
mov esi, 0x73a7f4
je 0x5b2606
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, 0x7db024
call fcn.004219e0
test al, al
je 0x5b264e
mov eax, dword [ebp + 8]
mov edi, dword [0x7db028]
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 [0x7db028]
mov dword [0x7db02c], 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.0x5b25bb.2
mov dword [ebx + 0xe4], 1
mov eax, dword [eax + 4]
cmp eax, esi
mov esi, 0x73a7f4
je 0x5b267d
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.004219e0
test al, al
je 0x5b26ca
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.0x5b25bb.2
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
test edi, edi
jne 0x5b26e6
mov edi, 0x73a7f4
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 0x5b3207
mov dword [ebx + 0xe4], 1
mov eax, dword [eax + 4]
cmp eax, esi
mov esi, 0x73a7f4
je 0x5b2743
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.004219e0
test al, al
je 0x5b2790
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.0x5b25bb.2
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
test edi, edi
jne 0x5b27ac
mov edi, 0x73a7f4
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 0x5b3207
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.00419180
mov ecx, eax
call fcn.00419080
push eax
call fcn.00419180
mov ecx, eax
call fcn.00418f10
mov ecx, 0x83a9e0
call fcn.006dc130
mov ecx, 0x83a9e0
call fcn.006dc290
jmp case.0x5b25bb.2
push esi
push esi
push esi
push esi
push 7
jmp 0x5b5aed
push esi
push esi
push esi
push esi
push 6
jmp 0x5b5aed
push esi
push esi
push esi
push esi
push 0x12
jmp 0x5b5aed
push esi
push esi
push esi
push esi
push 0x11
jmp 0x5b5aed
push 7
mov ecx, 0x83a9e0
call fcn.006d58f0
test eax, eax
je case.0x5b25bb.3
mov ecx, dword [0x83e168]
mov eax, 1
sub eax, ecx
mov dword [0x83e168], eax
je 0x5b2972
mov ecx, 0x814260
call fcn.00533580
push 7
mov ecx, 0x83a9e0
mov edi, eax
call fcn.006d58f0
test eax, eax
je 0x5b294b
push 0x83e758
lea ecx, [ebp - 0xb74]
push 0x76b7f4
mov dword [edi + 0x540], esi
push ecx
xor edi, edi
call fcn.00711e28
lea edx, [ebp - 0xb74]
push esi
push edx
call fcn.0071e49f
add esp, 0x14
test eax, eax
je 0x5b28fd
lea eax, [ebp - 0xb74]
push eax
call fcn.00712f9e
add esp, 4
test eax, eax
jne 0x5b294b
push 0x83e758
push 0x78d234
push 0x8373f8
call fcn.00711e28
push esi
push 0x8373f8
call fcn.0071e49f
add esp, 0x14
test eax, eax
jne 0x5b294b
inc edi
push edi
push 0x83e758
push 0x78d21c
push 0x8373f8
call fcn.00711e28
push esi
push 0x8373f8
call fcn.0071e49f
add esp, 0x18
test eax, eax
je 0x5b2923
lea ecx, [ebp - 0xd0]
push 0x78d200
push ecx
call fcn.00711e28
add esp, 8
lea edx, [ebp - 0xd0]
push esi
push esi
push 0xffff
push edx
jmp 0x5b5aeb
lea eax, [ebp - 0xd0]
push 0x78d1e8
push eax
call fcn.00711e28
add esp, 8
mov ecx, 0x814260
call fcn.00533580
cmp dword [0x83e168], esi
je 0x5b29e3
push 7
mov ecx, 0x83a9e0
call fcn.006d58f0
test eax, eax
je 0x5b29e3
push 0x837528
lea ecx, [ebp - 0x274]
push 0x76a9dc
push ecx
call fcn.00711e28
lea edx, [ebp - 0x274]
lea eax, [ebp - 0x374]
push edx
push 0x78cc18
push eax
call fcn.00711e28
add esp, 0x18
mov ecx, 0x837518
call fcn.00546cb0
push esi
push esi
lea ecx, [ebp - 0xd0]
push 0xffff
push ecx
jmp 0x5b5aeb
mov edi, dword [0x7db028]
mov dword [ebp + 8], esi
cmp edi, esi
mov dword [ebp + 0xc], esi
jne 0x5b2a0b
mov edi, 0x73a7f4
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 0x5b2aaa
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.0x5b25bb.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, 0x7db024
call fcn.004219e0
test al, al
je 0x5b2aa1
mov eax, dword [ebp + 8]
mov edi, dword [0x7db028]
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 [0x7db028]
mov dword [0x7db02c], eax
mov byte [eax + ecx], 0
mov dword [ebp + 8], 1
jmp 0x5b2b1e
cmp al, 0x24
jne 0x5b2b1e
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.0x5b25bb.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, 0x7db024
call fcn.004219e0
test al, al
je 0x5b2b17
mov eax, dword [ebp + 0xc]
mov edi, dword [0x7db028]
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 [0x7db028]
mov dword [0x7db02c], 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 0x5b2b38
mov edi, dword [ebp + 8]
push 0x12
call esi
xor ecx, ecx
mov esi, 1
mov cl, ah
test cl, cl
jne 0x5b2b4c
mov esi, dword [ebp + 0xc]
cmp dword [ebp - 0x2c], 0x32
je 0x5b2b9d
mov eax, dword [0x83e0cc]
test eax, eax
je 0x5b2b72
mov edx, dword [ebx]
push 0
push 0
push 0
push 0xff
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [0x83e0e0]
cmp eax, 2
jne 0x5b2bb1
mov eax, dword [0x8143c4]
test eax, eax
je 0x5b2bd9
test esi, esi
jne 0x5b2b9d
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x81
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push 0
push 0
push 0
push 6
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
cmp eax, 1
jne 0x5b2bd9
test edi, edi
jne 0x5b2b9d
mov ecx, 0x83a9e0
call fcn.006ccf80
test eax, eax
je 0x5b2b9d
mov eax, dword [ebx]
push edi
push edi
push edi
push 0x42
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
test edi, edi
je 0x5b2bff
mov ecx, 0x83a9e0
call fcn.006ccf80
test eax, eax
je 0x5b2bff
mov eax, dword [ebx]
push 0
push 0
push 0
push 0x42
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
test esi, esi
je 0x5b2c1a
mov edx, dword [ebx]
push 0
push 0
push 0
push 0x81
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push 0
push 0
push 0
push 6
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 7
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 1
push 7
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 2
push 7
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 3
push 7
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 4
push 7
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 5
push 7
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x20
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xbe
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0xb5
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xb6
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0xbc
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xb8
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b2d1a
mov eax, 0x73a7f4
mov edi, 0x7c1a4c
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x5b2d47
test cl, cl
je 0x5b2d43
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x5b2d47
add eax, 2
add edi, 2
test cl, cl
jne 0x5b2d1f
xor eax, eax
jmp 0x5b2d4c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, esi
jne 0x5b2d83
push esi
mov ecx, 0x83a9e0
call fcn.006cda20
lea eax, [ebp - 0x274]
push 0x78d1cc
push eax
call fcn.00711e28
add esp, 8
lea eax, [ebp - 0x274]
push 0
push 0
push 0x1effff
jmp 0x5b5aea
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 [0x7db028]
mov byte [ebp - 4], 1
cmp eax, esi
jne 0x5b2da9
mov esi, 0x73a7f4
mov dword [ebp + 8], esi
jmp 0x5b2dae
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.004219e0
test al, al
je 0x5b2deb
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, 0x83a9e0
call fcn.006cda20
mov eax, dword [0x81424c]
test eax, eax
mov eax, dword [ebp - 0x1c]
jne 0x5b2e22
test eax, eax
jne 0x5b2e0b
mov eax, 0x73a7f4
push eax
lea ecx, [ebp - 0x274]
push 0x78d1b0
push ecx
call fcn.00711e28
add esp, 0xc
jmp 0x5b2e4e
test eax, eax
jne 0x5b2e2b
mov eax, 0x73a7f4
mov ecx, dword [0x813acc]
push eax
push 0
call fcn.0052ba90
push eax
lea edx, [ebp - 0x274]
push 0x78d194
push edx
call fcn.00711e28
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 4], 0
test eax, eax
je 0x5b2e88
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b2e7f
cmp al, 0xff
je 0x5b2e7f
dec al
push 0
mov byte [ecx], al
push 0
push 0x1effff
lea eax, [ebp - 0x274]
jmp 0x5b5aea
push ecx
call fcn.00703996
add esp, 4
push 0
push 0
push 0x1effff
lea eax, [ebp - 0x274]
jmp 0x5b5aea
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xf8
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0xf9
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xfc
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov edi, 0x20
mov eax, dword [ebx]
push esi
push esi
push 0x76d274
push 0x5b
mov ecx, ebx
call dword [eax + 0x18]
dec edi
jne 0x5b2edd
jmp case.0x5b25bb.2
mov edi, 5
mov edx, dword [ebx]
push esi
push esi
push 0x78d18c
push 0x5b
mov ecx, ebx
call dword [edx + 0x18]
mov eax, dword [ebx]
push esi
push esi
push 0x78d180
push 0x5b
mov ecx, ebx
call dword [eax + 0x18]
dec edi
jne 0x5b2efa
jmp case.0x5b25bb.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.00714168
call fcn.007123f0
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.00714168
add esp, 8
call fcn.007123f0
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.004219e0
test al, al
je 0x5b2ff4
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 0x5b306e
lea edi, [eax - 4]
cmp eax, edi
jb 0x5b3061
mov ebx, dword [0x73a7f0]
jae 0x5b3014
call fcn.00705107
lea ecx, [ebp - 0x20]
call fcn.00421b20
mov eax, dword [ebp - 0x18]
sub eax, edi
cmp eax, ebx
jae 0x5b3027
mov ebx, eax
test ebx, ebx
jbe 0x5b306e
mov edx, dword [ebp - 0x1c]
sub eax, ebx
push eax
lea ecx, [edi + edx]
lea edx, [ecx + ebx]
push edx
push ecx
call fcn.00712760
mov edi, dword [ebp - 0x18]
add esp, 0xc
sub edi, ebx
lea ecx, [ebp - 0x20]
push 0
push edi
call fcn.004219e0
test al, al
je 0x5b306e
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov byte [eax + edi], 0
jmp 0x5b306e
sub edi, eax
push 0
push edi
lea ecx, [ebp - 0x20]
call fcn.0041fe00
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x5b307a
mov eax, 0x73a7f4
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
push ecx
push edx
push eax
push esi
mov ecx, 0x83a9e0
call fcn.006d5bd0
push eax
lea eax, [ebp - 0xc8]
push 0x78d170
push eax
call fcn.00711e28
add esp, 0x18
mov ecx, 0x7dabc0
push 0
push 0
push 0
push 0
push 3
call fcn.00512f20
push 0
push 0
lea ecx, [ebp - 0xc8]
push 0x64ffff
push ecx
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
cmp dword [0x81424c], 0xa
je 0x5b30f8
push 0
push 0
lea edx, [ebp - 0xc8]
push 0x64ffff
push edx
push 0x13
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [ebp - 0x1c]
test eax, eax
je case.0x5b25bb.2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b4d62
cmp al, 0xff
je 0x5b4d62
dec al
mov byte [ecx], al
jmp case.0x5b25bb.2
mov eax, dword [0x83e084]
mov edx, 1
sub edx, eax
lea esi, [ebx + 0x50]
mov dword [0x83e084], edx
mov edi, esi
mov eax, 0x78cbd8
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x5b3162
test cl, cl
je 0x5b315e
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x5b3162
add eax, 2
add edi, 2
test cl, cl
jne 0x5b313e
xor eax, eax
jmp 0x5b3167
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5b319f
mov edi, esi
mov eax, 0x78cbcc
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [edi]
jne 0x5b3196
test cl, cl
je 0x5b3192
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [edi + 1]
jne 0x5b3196
add eax, 2
add edi, 2
test cl, cl
jne 0x5b3172
xor eax, eax
jmp 0x5b319b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5b31b4
test edx, edx
mov ecx, 0x839f18
je 0x5b31af
call fcn.006bdbe0
jmp 0x5b31b4
call fcn.006bdc60
push 0
push 0
push 0
push 0
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83e084]
push 0
test eax, eax
push 0
push 0x64ffff
je 0x5b3225
push 0x17
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
lea eax, [ebp - 0x18]
mov word [ebp - 0x18], 0x21d
mov dword [ebp - 0x16], 0
push eax
push 0x21d
call fcn.00419180
mov ecx, eax
call fcn.00419080
push eax
call fcn.00419180
mov ecx, eax
call fcn.00418f10
jmp case.0x5b25bb.2
push 0x18
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
lea ecx, [ebp - 0x18]
mov word [ebp - 0x18], 0x21d
mov dword [ebp - 0x16], 1
push ecx
jmp 0x5b3202
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.007123f0
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 0x5b329e
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.0x5b25bb.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 0x5b32c3
call dword [sym.imp.WINMM.dll_timeGetTime]
mov edx, dword [edi]
mov dword [ebx + 0x530], eax
sub eax, edx
cmp eax, 0xbb8
jae case.0x5b25bb.2
cmp eax, 0x5dc
jbe case.0x5b25bb.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.0x5b25bb.2
mov edx, dword [0x83e0b4]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x83e0b4], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83e0b4]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3351
push 0x13d
jmp 0x5b5ae2
push 0x13e
jmp 0x5b5ae2
mov ecx, dword [0x83e050]
push esi
mov edx, 1
push esi
push esi
sub edx, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e050], edx
call fcn.00512f20
mov eax, dword [0x83e050]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3398
push 0x2bd
jmp 0x5b5ae2
push 0x2be
jmp 0x5b5ae2
mov ecx, dword [0x83e054]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e054], eax
call fcn.00512f20
mov eax, dword [0x83e054]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b33de
push 0x2cd
jmp 0x5b3ee6
push 0x2ce
jmp 0x5b3ee6
mov ecx, dword [0x83e058]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e058], eax
call fcn.00512f20
mov eax, dword [0x83e058]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3424
push 0x352
jmp 0x5b5ae2
push 0x353
jmp 0x5b5ae2
mov edx, dword [0x83e04c]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x83e04c], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83e04c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b346b
push 0x2c7
jmp 0x5b5ae2
push 0x2c8
jmp 0x5b5ae2
mov al, byte [0x83e0c1]
test al, al
je 0x5b3496
push esi
push esi
push 0x6e96ff
mov byte [0x83e0c1], 0
push 0x78d154
jmp 0x5b5aeb
push esi
push esi
push 0x6e96ff
mov byte [0x83e0c1], 1
push 0x78d138
jmp 0x5b5aeb
mov ecx, dword [0x814264]
push esi
push esi
push 0x70
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x6b
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x6c
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x8c
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov ecx, dword [0x814264]
push esi
push esi
push 0x70
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x6b
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x6c
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x77
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x78
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x8c
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov ecx, dword [0x814264]
push esi
push esi
push 0x70
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x6b
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x6c
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x8c
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0xa4
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x86
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0xa6
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov ecx, dword [0x814264]
push esi
push esi
push 0x77
mov eax, dword [ecx]
push 0x2a
call dword [eax + 0x18]
mov ecx, dword [0x814264]
push esi
push esi
push 0x78
mov edx, dword [ecx]
push 0x2a
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov ecx, dword [0x83e05c]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e05c], eax
call fcn.00512f20
mov eax, dword [0x83e05c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3653
push 0x2da
jmp 0x5b5ae2
push 0x2db
jmp 0x5b5ae2
mov edx, dword [0x83e060]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x83e060], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83e060]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b369a
push 0x414
jmp 0x5b5ae2
push 0x415
jmp 0x5b5ae2
mov ecx, dword [0x83e064]
push esi
mov edx, 1
push esi
push esi
sub edx, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e064], edx
call fcn.00512f20
mov eax, dword [0x83e064]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b36e1
push 0x454
jmp 0x5b5ae2
push 0x455
jmp 0x5b5ae2
mov ecx, dword [0x83e068]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e068], eax
call fcn.00512f20
mov eax, dword [0x83e068]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3727
push 0x2fd
jmp 0x5b5ae2
push 0x2fe
jmp 0x5b5ae2
mov edx, dword [0x83e06c]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x83e06c], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83e06c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b376e
push 0x300
jmp 0x5b5ae2
push 0x301
jmp 0x5b5ae2
mov ecx, dword [0x83e0cc]
push esi
mov edx, 1
push esi
push esi
sub edx, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e0cc], edx
call fcn.00512f20
mov eax, dword [0x83e0cc]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b37b5
push 0x555
jmp 0x5b5ae2
push 0x556
jmp 0x5b5ae2
mov ecx, dword [0x83e078]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e078], eax
call fcn.00512f20
mov eax, dword [0x83e078]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b37fb
push 0x2de
jmp 0x5b5ae2
push 0x2dd
jmp 0x5b5ae2
mov edx, dword [0x83e07c]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x83e07c], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83e07c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3842
push 0x38d
jmp 0x5b5ae2
push 0x38c
jmp 0x5b5ae2
mov ecx, dword [0x83e080]
push esi
mov edx, 1
push esi
push esi
sub edx, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e080], edx
call fcn.00512f20
mov eax, dword [0x83e080]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3889
push 0x325
jmp 0x5b5ae2
push 0x326
jmp 0x5b5ae2
mov eax, dword [ebx + 0xb4]
cmp dword [eax + 0x5c], esi
je case.0x5b25bb.2
mov eax, dword [0x83c484]
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1a], eax
mov eax, dword [0x83c488]
push ecx
push 0x20f
mov word [ebp - 0x1c], 0x20f
mov dword [ebp - 0x16], eax
call fcn.00419180
mov ecx, eax
call fcn.00419080
push eax
call fcn.00419180
mov ecx, eax
call fcn.00418f10
jmp case.0x5b25bb.2
mov cl, byte [0x83e300]
push esi
test cl, cl
push esi
push esi
sete dl
push esi
push 3
mov ecx, 0x7dabc0
mov byte [0x83e300], dl
call fcn.00512f20
mov al, byte [0x83e300]
test al, al
je 0x5b391a
push 0x74
mov ecx, 0x7dabc0
call fcn.0050cbe0
jmp case.0x5b25bb.2
push esi
push esi
push 0x64ffff
push 0x3af
jmp 0x5b5ae2
mov ecx, dword [0x83e258]
xor eax, eax
push esi
cmp ecx, esi
push esi
push esi
sete al
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e258], eax
call fcn.00512f20
cmp dword [0x83e258], esi
je 0x5b3a5f
lea ecx, [ebp - 0x274]
push ecx
push 0x100
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
lea edx, [ebp - 0x274]
push 0x78d130
push edx
call fcn.00712e20
add esp, 8
cmp eax, esi
je 0x5b39a7
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, 0x78d120
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.00546a40
lea eax, [ebp - 0x274]
push 0x1001
push eax
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 3
call fcn.00546a90
mov edi, 0x7c1a4c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0x7c1a4c
lea ecx, [ebp - 0xe0]
call fcn.00546d70
lea ecx, [ebp - 0xe0]
call fcn.00546cb0
push 0
push 0
push 0x64ffff
push 0x3bc
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0
call fcn.00546a50
jmp case.0x5b25bb.2
push esi
push esi
push 0x64ffff
push 0x3bd
jmp 0x5b5ae2
mov edx, dword [0x83e25c]
xor ecx, ecx
cmp edx, esi
push esi
sete cl
push esi
push esi
mov dword [0x83e25c], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83e25c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3aad
push 0x3ff
jmp 0x5b5ae2
push 0x400
jmp 0x5b5ae2
mov ecx, dword [0x83e2ec]
xor edx, edx
push esi
cmp ecx, esi
push esi
push esi
sete dl
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83e2ec], edx
call fcn.00512f20
mov eax, dword [0x83e2ec]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3af4
push 0x4f9
jmp 0x5b5ae2
push 0x4fa
jmp 0x5b5ae2
mov eax, dword [ebx + 0xb4]
mov ecx, dword [eax + 0x3c]
fld dword [ecx + 0x38]
fadd dword [0x749798]
fcom dword [0x73a95c]
fst dword [ecx + 0x38]
fnstsw ax
test ah, 1
jne 0x5b3b2b
fsub dword [0x73a95c]
fstp dword [ecx + 0x38]
jmp 0x5b3b2d
fstp st(0)
fld dword [ecx + 0x38]
mov edi, dword [ebx]
push esi
push esi
call fcn.007123f0
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 0x5b3bc1
jmp 0x5b3bbc
mov edx, dword [ebx + 0xb4]
mov ecx, dword [edx + 0x3c]
fld dword [ecx + 0x38]
fsub dword [0x749798]
fcom dword [0x73a698]
fst dword [ecx + 0x38]
fnstsw ax
test ah, 1
je 0x5b3b8b
fadd dword [0x73a95c]
fstp dword [ecx + 0x38]
jmp 0x5b3b8d
fstp st(0)
fld dword [ecx + 0x38]
mov edi, dword [ebx]
push esi
push esi
call fcn.007123f0
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 0x5b3bc1
dec edx
or edx, 0xfffffff8
inc edx
push edx
push 0x8b
mov ecx, ebx
call dword [edi + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [0x83868c]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x83868c], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83868c]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3c0e
push 0x13f
jmp 0x5b5ae2
push 0x140
jmp 0x5b5ae2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b3c24
mov eax, 0x73a7f4
push eax
call fcn.00712b77
mov edi, eax
add esp, 4
cmp edi, 0x7f
jle 0x5b3c3b
mov edi, 0x7f
jmp 0x5b3c41
cmp edi, esi
jge 0x5b3c41
xor edi, edi
push edi
call fcn.0041ba80
push edi
call fcn.0041bac0
add esp, 8
push edi
push 0x19
call fcn.00581bb0
add esp, 4
lea edx, [ebp - 0xc8]
push eax
push 0x78d118
push edx
call fcn.00711e28
add esp, 0x10
lea eax, [ebp - 0xc8]
push esi
push esi
push 0x64ffff
jmp 0x5b3eee
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b3c8e
mov eax, 0x73a7f4
push eax
call fcn.00712b77
mov edi, eax
add esp, 4
cmp edi, 0x7f
jle 0x5b3ca5
mov edi, 0x7f
jmp 0x5b3cab
cmp edi, esi
jge 0x5b3cab
xor edi, edi
push edi
mov dword [0x83be54], edi
call fcn.0041ba30
add esp, 4
push edi
push 0x1a
call fcn.00581bb0
add esp, 4
push eax
lea eax, [ebp - 0xc8]
push 0x78d118
push eax
call fcn.00711e28
add esp, 0x10
lea ecx, [ebp - 0xc8]
push esi
push esi
push 0x64ffff
push ecx
jmp 0x5b3eef
mov ecx, dword [0x76a54c]
mov eax, 1
sub eax, ecx
mov dword [0x76a54c], eax
je 0x5b3d15
push esi
push esi
push 0x64ffff
mov dword [0x83e098], esi
push 0x1b
jmp 0x5b3ee6
push esi
push esi
push 0x64ffff
push 0x1c
jmp 0x5b3ee6
mov ecx, dword [0x83e098]
mov eax, 1
sub eax, ecx
push esi
push esi
mov dword [0x83e098], eax
push 0x64ffff
je 0x5b3d48
push 0x5da
jmp 0x5b5ae2
push 0x5db
jmp 0x5b5ae2
mov edx, dword [0x79c048]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x79c048], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x79c048]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3d8c
push 0x1d
jmp 0x5b5ae2
push 0x1e
jmp 0x5b5ae2
mov eax, dword [0x83e08c]
mov edx, 1
sub edx, eax
mov dword [0x83e08c], edx
je 0x5b3dc2
mov ebx, dword [ebx + 0x118]
cmp ebx, esi
jne 0x5b3db6
mov ebx, 0x73a7f4
push esi
push ebx
call fcn.0041bb20
add esp, 8
jmp 0x5b3dc7
call fcn.0041b9f0
push esi
push esi
push esi
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83e08c]
push esi
cmp eax, esi
push esi
push 0x64ffff
jne 0x5b3deb
push 0x20
jmp 0x5b3ded
push 0x1f
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
mov ecx, dword [0x7dada4]
cmp ecx, esi
je case.0x5b25bb.2
mov eax, dword [ecx]
push esi
push esi
push esi
push esi
push 0x3c
push esi
call dword [eax + 0x90]
jmp case.0x5b25bb.2
mov edx, dword [0x83be74]
mov ecx, 1
push esi
sub ecx, edx
push esi
push esi
mov dword [0x83be74], ecx
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov eax, dword [0x83be74]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3e61
push 0x10f
jmp 0x5b3ee6
push 0x110
jmp 0x5b3ee6
mov ecx, dword [0x83be68]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83be68], eax
call fcn.00512f20
mov eax, dword [0x83be68]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3ea1
push 0x114
jmp 0x5b3ee6
push 0x115
jmp 0x5b3ee6
mov ecx, dword [0x83be70]
push esi
mov eax, 1
push esi
push esi
sub eax, ecx
push esi
push 3
mov ecx, 0x7dabc0
mov dword [0x83be70], eax
call fcn.00512f20
mov eax, dword [0x83be70]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b3ee1
push 0x111
jmp 0x5b3ee6
push 0x112
call fcn.00581bb0
add esp, 4
push eax
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
mov ecx, dword [0x7dada4]
cmp ecx, esi
je case.0x5b25bb.2
mov edx, dword [ecx]
push esi
push esi
push esi
push esi
push 0x3c
push esi
call dword [edx + 0x90]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0xe
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0xf
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx + 0xb4]
mov ecx, dword [eax + 0x3c]
cmp ecx, esi
je case.0x5b25bb.2
mov edx, dword [ecx]
push esi
push esi
push esi
push 0x1e
push esi
call dword [edx + 8]
jmp case.0x5b25bb.2
mov eax, dword [ebx + 0xb4]
mov ecx, dword [eax + 0x3c]
cmp ecx, esi
je case.0x5b25bb.2
mov edx, dword [ecx]
push esi
push esi
push esi
push 0x1f
push esi
call dword [edx + 8]
jmp case.0x5b25bb.2
push esi
push esi
push esi
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0xb1
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x21
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x22
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x23
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x24
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x25
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x26
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x27
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x28
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x29
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2a
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2d
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2e
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x6b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x84
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x85
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x86
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x87
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x89
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x8a
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x8b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x30
call fcn.00581bb0
add esp, 4
push eax
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x6c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x8c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x8d
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x8e
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x9a
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x9b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x9c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x9d
call fcn.00581bb0
add esp, 4
push eax
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x9e
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0xad
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0xd3
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x113
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x139
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x141
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x15d
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2e0
call fcn.00581bb0
add esp, 4
push eax
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x354
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x38b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2d7
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2d8
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2c6
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2cb
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x303
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2df
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2d4
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2ff
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x310
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x396
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x324
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x313
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x314
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x31b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x31c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x39c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x39b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x351
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2d9
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2dc
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2bc
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x2cc
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x302
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x413
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x453
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x39d
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
call fcn.007126a4
cdq
mov ecx, 0xa
idiv ecx
cmp edx, 4
jge 0x5b4863
push esi
push esi
push 0xffff64
push 0x399
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x39a
jmp 0x5b48a1
call fcn.007126a4
cdq
mov ecx, 5
idiv ecx
cmp edx, 2
jge 0x5b4883
push esi
push esi
push 0xffff64
push 0x2f8
jmp 0x5b48a1
call fcn.007126a4
cdq
mov ecx, 3
idiv ecx
cmp edx, 2
jge 0x5b48b6
push esi
push esi
push 0xffff64
push 0x315
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x5dc
jmp 0x5b5ae2
mov eax, dword [0x7daea0]
cmp eax, esi
mov eax, dword [0x7daea8]
jne 0x5b48ea
cmp eax, esi
jne 0x5b48ee
push 0x1b
mov ecx, 0x7dabc0
call fcn.0050cbe0
jmp case.0x5b25bb.2
cmp eax, esi
je 0x5b4915
push 0x76aed0
push esi
push esi
push 1
push esi
push 0x24b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
call fcn.00509380
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0x52
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x30
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4943
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x6a
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4960
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x70
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b497d
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x3a
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b499a
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x106
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b49ba
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x109
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b49da
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x5b
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov ecx, dword [eax + 0x24]
mov esi, 0x73a7f4
test ecx, ecx
jne 0x5b49f9
mov ecx, esi
mov edx, dword [eax + 0x14]
mov dword [ebp + 8], esi
test edx, edx
je 0x5b4a06
mov dword [ebp + 8], edx
mov eax, dword [eax + 4]
test eax, eax
je 0x5b4a0f
mov esi, eax
mov edi, dword [ebx]
push ecx
call fcn.00712b77
add esp, 4
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00712b77
add esp, 4
mov ecx, ebx
push eax
push esi
push 0x5c
call dword [edi + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4a41
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x9c
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4a61
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x9d
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4a81
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x9e
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4aa1
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x9f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4ac1
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0xb2
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4ae1
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0xb3
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4b01
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0xa2
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4b21
mov eax, 0x73a7f4
mov edi, dword [ebx]
push esi
push esi
push eax
call fcn.00712b77
add esp, 4
mov ecx, ebx
push eax
push 0x9b
call dword [edi + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4b4a
mov eax, 0x73a7f4
push eax
call fcn.00712b77
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.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x3d
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
mov dword [ebp + 8], 0x73a7f4
cmp eax, esi
je 0x5b4b8b
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 0x5b4be5
call fcn.00704fbb
mov edx, dword [ebp - 0x1c]
xor ecx, ecx
cmp edx, ecx
je 0x5b4be2
mov al, byte [edx - 1]
test al, al
je 0x5b4be2
cmp al, 0xff
je 0x5b4be2
cmp edi, ecx
jne 0x5b4c08
dec al
mov byte [edx - 1], al
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
jmp 0x5b4c36
mov esi, dword [ebp - 0x14]
test edi, edi
jne 0x5b4bf5
push 1
lea ecx, [ebp - 0x20]
call fcn.00420200
jmp 0x5b4c36
cmp esi, 0x1f
ja 0x5b4bfe
cmp esi, edi
jae 0x5b4c14
push 1
lea ecx, [ebp - 0x20]
call fcn.00420200
push edi
lea ecx, [ebp - 0x20]
call fcn.00421d90
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.0054f290
mov edi, 0x78d114
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 0x5b4c61
cmp eax, ecx
jb 0x5b4c67
mov eax, ecx
mov esi, dword [ebp - 0x1c]
mov ecx, eax
mov edi, 0x78d114
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x5b4c7c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5b4c92
mov edi, dword [ebp + 8]
mov esi, edx
cmp esi, edi
jb 0x5b4c92
cmp esi, edi
setne al
test eax, eax
je 0x5b4ce3
mov edi, 0x76c324
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 0x5b4caa
cmp eax, ecx
jb 0x5b4cb0
mov eax, ecx
mov esi, dword [ebp - 0x1c]
mov ecx, eax
mov edi, 0x76c324
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x5b4cc5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5b4cdb
mov edi, dword [ebp + 8]
mov esi, edx
cmp esi, edi
jb 0x5b4cdb
cmp esi, edi
setne al
test eax, eax
je 0x5b4ce3
mov eax, dword [ebp - 0x1c]
jmp 0x5b30fb
mov edi, 0x78d114
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 0x5b4cfb
cmp eax, ecx
jae 0x5b4d01
mov ecx, eax
mov esi, dword [ebp - 0x1c]
mov edi, 0x78d114
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x5b4d14
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x5b4d2b
mov esi, dword [ebp + 8]
cmp eax, esi
jae 0x5b4d24
or edx, 0xffffffff
jmp 0x5b4d2b
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.0x5b25bb.2
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x5b4d62
cmp al, 0xff
je 0x5b4d62
dec al
mov byte [ecx], al
jmp case.0x5b25bb.2
push ecx
call fcn.00703996
add esp, 4
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b4d7c
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x3e
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
mov dword [ebp + 0xc], 0x73a7f4
cmp eax, esi
je 0x5b4d9e
mov dword [ebp + 0xc], eax
mov eax, dword [ebx + 0x138]
mov ecx, dword [eax]
cmp ecx, eax
mov dword [ebp + 8], ecx
je case.0x5b25bb.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 0x5b4dcd
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 0x5b4de1
sbb edx, edx
sbb edx, 0xffffffff
test edx, edx
jne 0x5b4df9
mov esi, dword [ebp - 0x30]
cmp eax, esi
jb 0x5b4df9
cmp eax, esi
setne dl
test edx, edx
je 0x5b4e79
lea ecx, [ebp - 0x14]
call fcn.007039a1
mov esi, dword [ebp + 8]
mov ecx, dword [0x8387c4]
mov byte [ebp - 4], 5
mov eax, dword [esi + 8]
cmp eax, ecx
je 0x5b4e3d
lea ecx, [ebp - 0x2c]
mov esi, eax
call fcn.007039a1
mov eax, dword [esi]
mov ecx, dword [0x8387c4]
cmp eax, ecx
je 0x5b4e33
mov esi, eax
mov eax, dword [esi]
cmp eax, ecx
jne 0x5b4e2b
lea ecx, [ebp - 0x2c]
call fcn.00703a3d
jmp 0x5b4e59
mov eax, dword [esi + 4]
cmp esi, dword [eax + 8]
jne 0x5b4e52
mov esi, eax
mov eax, dword [eax + 4]
mov dword [ebp + 8], esi
cmp esi, dword [eax + 8]
je 0x5b4e45
cmp dword [esi + 8], eax
je 0x5b4e5c
mov esi, eax
mov dword [ebp + 8], esi
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0
call fcn.00703a3d
cmp esi, dword [ebx + 0x138]
jne 0x5b4db1
jmp case.0x5b25bb.2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
test eax, eax
je case.0x5b25bb.2
mov edx, dword [ebx]
push 0
push 0
push eax
push 0x31
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov ecx, dword [ebx + 0x424]
xor eax, eax
cmp ecx, esi
sete al
mov dword [ebx + 0x424], eax
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push esi
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 1
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 2
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 3
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 4
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x4b
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
push 0x26
mov ecx, 0x7dabc0
call fcn.00509b10
test al, al
jne case.0x5b25bb.2
push 0x26
mov ecx, 0x7dabc0
call fcn.0050cbe0
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 5
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 6
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 7
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 8
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 9
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0xa
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0xb
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0xc
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0xe
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0xf
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x10
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x11
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x12
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x13
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x14
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x15
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x16
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x17
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x18
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x19
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x1a
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x1b
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x1c
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x1d
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x1e
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x1f
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x20
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x21
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x24
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x25
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x26
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x27
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x28
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x29
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x2a
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x2b
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x2c
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x2d
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x2e
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x2f
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x34
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x35
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x36
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x37
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x38
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x39
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
call fcn.007126a4
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.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x41
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x44
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x45
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x46
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x47
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x48
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x49
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x4a
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x4b
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x4c
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x4d
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x4e
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 0x4f
push 0x1f
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push 0x50
push 0x1f
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
push esi
push esi
push 0xffff64
push 0x25d
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x224
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x22b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x22c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x22d
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x22e
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x22f
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x230
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x231
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x232
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x233
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x234
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x235
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x236
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x237
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x238
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x239
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x23a
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x23b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x23c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x23d
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x304
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x305
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x306
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x307
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x308
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x309
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x30a
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x30b
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x30c
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x30d
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x30e
call fcn.00581bb0
add esp, 4
mov ecx, 0x7dabc0
push eax
push 1
call fcn.00512f20
push esi
push esi
push 0xffff64
push 0x30f
jmp 0x5b5ae2
mov edx, dword [0x83e048]
mov eax, 1
sub eax, edx
mov ecx, ebx
push eax
mov dword [0x83e048], eax
call fcn.005b2050
mov eax, dword [0x83e048]
push esi
cmp eax, esi
push esi
push 0x64ffff
je 0x5b57fc
push 0x78d10c
jmp 0x5b5801
push 0x78d104
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
mov ecx, dword [0x7dada4]
cmp ecx, esi
je case.0x5b25bb.2
mov edx, dword [ecx]
push esi
push esi
push esi
push esi
push 0x3c
push esi
call dword [edx + 0x90]
jmp case.0x5b25bb.2
mov eax, dword [ebx]
push esi
push esi
push esi
push 0x8e
mov ecx, ebx
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov edx, dword [ebx]
push esi
push esi
push 1
push 0x8e
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov ecx, dword [eax + 0x24]
mov esi, 0x73a7f4
test ecx, ecx
jne 0x5b5866
mov ecx, esi
mov edx, dword [eax + 0x14]
mov dword [ebp + 8], esi
test edx, edx
je 0x5b5873
mov dword [ebp + 8], edx
mov eax, dword [eax + 4]
test eax, eax
je 0x5b587c
mov esi, eax
mov edi, dword [ebx]
push ecx
call fcn.00712b77
add esp, 4
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00712b77
add esp, 4
push eax
push esi
call fcn.00712b77
add esp, 4
mov ecx, ebx
push eax
push 0x8f
call dword [edi + 0x18]
jmp case.0x5b25bb.2
mov al, byte [0x83e164]
push esi
test al, al
push esi
push 0xffff
je 0x5b58db
push 0x78d0f0
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
mov byte [0x83e164], 0
jmp case.0x5b25bb.2
push 0x78d0e0
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
mov byte [0x83e164], 1
jmp case.0x5b25bb.2
mov eax, dword [0x83be14]
push eax
mov dword [ebp + 8], eax
call fcn.006ddd20
add esp, 4
test al, al
je 0x5b5918
lea ecx, [ebp + 8]
push ecx
call fcn.006ddfd0
jmp 0x5b5921
lea edx, [ebp + 8]
push edx
call fcn.006ddfc0
mov eax, dword [ebx]
add esp, 4
mov ecx, ebx
push esi
push esi
push pe_nt_image_headers32
push 0x90
call dword [eax + 0x18]
jmp case.0x5b25bb.2
mov ecx, dword [ebx + 0x424]
inc ecx
mov eax, ecx
mov dword [ebx + 0x424], ecx
cmp eax, 4
jne case.0x5b25bb.2
mov dword [ebx + 0x424], esi
jmp case.0x5b25bb.2
mov bl, byte [0x83e0c0]
test bl, bl
sete cl
mov byte [0x83e0c0], cl
mov eax, dword [0x83e0c0]
and eax, 0xff
mov ecx, 0x83a9e0
push eax
push eax
call fcn.005317d0
push esi
push esi
push esi
push esi
push 3
mov ecx, 0x7dabc0
call fcn.00512f20
mov al, byte [0x83e0c0]
push esi
test al, al
push esi
push 0x64ffff
je 0x5b59ad
push 0x2d2
jmp 0x5b5ae2
push 0x2d3
jmp 0x5b5ae2
mov edx, dword [0x79c050]
xor eax, eax
cmp edx, esi
sete al
cmp eax, 1
mov dword [0x79c050], eax
sete dl
mov byte [0x839f19], dl
jmp case.0x5b25bb.2
mov eax, dword [0x83c484]
push eax
call fcn.005317a0
add esp, 4
test al, al
je case.0x5b25bb.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 0x5b5a16
push 0x78d0d0
jmp 0x5b5aeb
push 0x78d0c0
jmp 0x5b5aeb
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.00419180
mov ecx, eax
call fcn.00419080
push eax
call fcn.00419180
mov ecx, eax
call fcn.00418f10
jmp case.0x5b25bb.2
mov eax, dword [eax + 4]
cmp eax, esi
jne 0x5b5a66
mov eax, 0x73a7f4
mov edx, dword [ebx]
push esi
push esi
push eax
push 0x3b
mov ecx, ebx
call dword [edx + 0x18]
jmp case.0x5b25bb.2
mov edi, dword [0x83e36c]
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.0x5b25bb.2
mov edx, dword [0x83e3a8]
xor eax, eax
cmp edx, esi
sete al
cmp eax, esi
mov dword [0x83e3a8], eax
je 0x5b5ab9
push esi
push esi
push 0x64ffff
push 0x6a6
jmp 0x5b5ae2
mov ebx, dword [ebx + 0x55c]
cmp ebx, esi
je 0x5b5acb
mov edx, dword [ebx]
push esi
mov ecx, ebx
call dword [edx + pe_nt_image_headers32]
push esi
push esi
push 0x64ffff
push 0x6a7
jmp 0x5b5ae2
push esi
push esi
push 0xffff
push 0x5f
call fcn.00581bb0
add esp, 4
push eax
push 1
mov ecx, 0x7dabc0
call fcn.00512f20
push fcn.0041ed10
push 3
lea eax, [ebp - 0x174]
push 0x10
push eax
mov dword [ebp - 4], 0xffffffff
call fcn.0071227a
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8