Function at 0x5859d0
Capabilities:
Parse credit card information
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x27c0
call fcn.007ce210
mov edi, ecx
mov eax, dword [ebp + 0x2c]
mov ebx, 0xceca659
cmp eax, 0x39
je 0x585a6c
cmp eax, 0x3a
jne 0x585bf2
mov dword [esp + 0x2674], 0
mov dword [esp + 0x2670], 0
mov dword [esp], str.sober128
call fcn.007ae810
mov dword [esp], 3
call fcn.007ae890
lea edi, [esp + 0x128]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp], pe_nt_image_headers32
call fcn.007ae8d0
mov esi, 0x700002bb
test eax, eax
jne 0x58625e
add ebx, 0xf31359bd
jmp 0x586194
mov edi, dword [ebp + 0x24]
lea eax, [ebx + ebx + 0x3bbffb4]
add al, 0xde
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x54], eax
test eax, eax
je 0x585e11
mov esi, 0xceca659
mov ebx, edi
add esi, 0xf31359af
mov byte [esp + 0x9a], al
mov byte [esp + 0xbf], al
mov byte [esp + 0x73], al
mov byte [esp + 0xbe], al
mov byte [esp + 0x108], al
mov byte [esp + 0xe0], al
mov byte [esp + 0xbd], al
mov byte [esp + 0xc8], al
mov byte [esp + 0xd8], al
mov byte [esp + 0x110], al
mov byte [esp + 0xf4], al
mov byte [esp + 0x9b], al
mov dword [esp + 0xac], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0xfc], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x50], edi
mov dword [esp + 0xc4], edi
mov dword [esp + 0x84], edi
jmp 0x589da9
mov esi, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x2744], 0
mov dword [esp + 0x2740], 0
mov dword [esp + 0x2748], 0
mov dword [esp + 0x273c], 0
mov dword [esp + 0x2738], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0x2710], xmm0
movaps xmmword [esp + 0x2700], xmm0
mov dword [esp + 0x2724], 0
mov dword [esp + 0x2720], 0
mov byte [esp + 0x2728], 0
mov dword [esp + 0x26fc], 0
mov dword [esp + 0x26f8], 0
mov dword [esp + 0x26f4], 0
mov dword [esp + 0x26f0], 0
mov dword [esp + 0x26ec], 0
movaps xmmword [esp + 0x26d0], xmm0
movaps xmmword [esp + 0x26c0], xmm0
movaps xmmword [esp + 0x26b0], xmm0
movaps xmmword [esp + 0x26a0], xmm0
mov dword [esp + 0x269c], 0
mov eax, dword [0x7dc5e8]
mov dword [esp + 0x2698], eax
movsd xmm0, qword [0x7dc5e0]
movsd qword [esp + 0x2690], xmm0
movsd xmm0, qword [0x7dc5d8]
movsd qword [esp + 0x2688], xmm0
test ecx, ecx
je 0x585d01
mov dword [ecx + 4], 0
mov dword [ecx], 0
mov al, 0x15
test esi, esi
je 0x585d14
mov dword [esi + 4], 0
mov dword [esi], 0
mov dword [esp + 0x120], edx
mov esi, dword [ebp + 8]
movzx eax, al
cmp eax, 0x15
mov al, 0x78
mov cl, 3
xor ebx, ebx
test esi, esi
sete byte [esp + 0x110]
je 0x585d67
movzx edx, cl
mov ecx, 0xffffffff
cmp edx, 3
je 0x585d52
jmp 0x585d62
mov ebx, dword [esi]
add ecx, 1
jb 0x585d50
jmp 0x585d67
mov ebx, dword [esi]
add ecx, 1
jb 0x585d60
movzx eax, al
cmp eax, 0x4f
je 0x585f67
cmp eax, 0x78
jne 0x585ffc
call fcn.0044c050
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], edx
lea eax, [esp + 0x2740]
mov dword [esp], eax
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0
call fcn.007c51a0
mov dword [esp + 0x2740], 0x28
lea eax, [esp + 0x2748]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x2744]
mov esi, dword [esp + 0x2748]
lea ecx, [esi + esi*2]
lea ecx, [ecx*8 + 0x18]
lea edx, [esp + 0x2744]
mov dword [esp + 0x11c], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x586081
mov dword [esp + 0x118], 0x70000003
jmp 0x587fdf
mov dword [esp + 0xf8], eax
mov byte [esp + 0x8f], al
mov byte [esp + 0xc8], al
mov byte [esp + 0xbf], al
mov byte [esp + 0x73], al
mov byte [esp + 0xd8], al
mov byte [esp + 0xf4], al
mov byte [esp + 0x9b], al
mov byte [esp + 0x108], al
mov byte [esp + 0xe0], al
mov byte [esp + 0xbd], al
mov byte [esp + 0xdf], al
mov byte [esp + 0x9a], al
mov byte [esp + 0xbe], al
mov dword [esp + 0x78], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xec], eax
mov dword [esp + 0x120], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x11c], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xfc], eax
jmp 0x5893b3
call fcn.0044c050
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], edx
lea eax, [esp + 0x2740]
mov dword [esp], eax
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0
call fcn.007c51a0
mov dword [esp + 0x2740], 0x28
lea eax, [esp + 0x2748]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x2744]
mov esi, dword [esp + 0x2748]
lea ecx, [esi + esi*2]
lea ecx, [ecx*8 + 0x18]
lea edx, [esp + 0x2744]
mov dword [esp + 0x11c], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
jne 0x586081
mov dword [esp + 0x118], 0x70000003
jmp 0x587fdf
call fcn.0044c050
mov dword [esp + 0x10c], eax
mov dword [esp + 0x108], edx
lea eax, [esp + 0x2740]
mov dword [esp], eax
mov dword [esp + 8], 0xc
mov dword [esp + 4], 0
call fcn.007c51a0
mov dword [esp + 0x2740], 0x28
lea eax, [esp + 0x2748]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x2744]
mov esi, dword [esp + 0x2748]
lea ecx, [esi + esi*2]
lea ecx, [ecx*8 + 0x18]
lea edx, [esp + 0x2744]
mov dword [esp + 0x11c], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x586265
mov dword [esp + 0x104], edi
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
lea ecx, [esi*8]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx], 0x10
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], 8
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], 8
call fcn.00492770
mov edi, eax
mov dword [esp + 0x118], 0x70000003
test edi, edi
je 0x587fdf
mov eax, dword [esp + 0x120]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x2744]
lea ecx, [esi + esi*2]
mov dword [eax + ecx*8 + 0x14], edi
test ebx, ebx
jne 0x58628d
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
jne 0x58628d
mov al, 0x11
movzx eax, al
cmp eax, 3
je 0x586161
cmp eax, 0x11
jne 0x586275
or byte [esp + 0x2738], 2
jmp 0x58628d
mov ebx, 0xe
lea edi, [esp + 0x128]
mov dword [esp], edi
call fcn.004b0080
movsd xmm0, qword [esp + 0x2670]
mov eax, dword [ebp + 0x28]
movsd qword [eax], xmm0
xor esi, esi
cmp ebx, 0xe
je 0x58625e
nop dword [eax]
mov ebx, 2
mov dword [esp + 8], edi
lea eax, [esp + 0x2670]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.007ad7c0
cmp eax, 8
jne 0x58621b
mov edi, 0x13
mov eax, dword [esp + 0x2670]
mov ecx, dword [esp + 0x2674]
mov edx, 0xfffffff
and ecx, edx
mov dword [esp + 0x2674], ecx
mov dword [esp + 0x2670], eax
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00420320
test eax, eax
jne 0x58624e
mov ebx, 8
mov eax, dword [esp + 0x2674]
cmp dword [esp + 0x2670], 0xa7640000
sbb eax, 0xde0b6b3
jb 0x58624e
mov eax, ebx
mov ebx, 0xffffffff
cmp eax, 2
je 0x586244
jmp 0x58616e
mov edi, 0xd
lea eax, [esp + 0x128]
mov dword [esp], eax
call fcn.004b0080
add ebx, 1
mov esi, 0x700002bb
jb 0x586230
cmp edi, 0xd
lea edi, [esp + 0x128]
jne 0x5861a0
mov eax, esi
jmp 0x589f34
mov dword [esp + 0x118], 0x70000003
jmp 0x587fdf
mov eax, 0xffffffff
jmp 0x586288
or byte [esp + 0x2738], 2
add eax, 1
jb 0x586280
mov eax, dword [esp + 0x2744]
mov edi, dword [esp + 0x2748]
lea esi, [edi + edi*2]
lea ecx, [esi*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587fdf
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
shl edi, 3
lea ecx, [edi + edi*2]
mov dword [eax + ecx], 0xe
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], 4
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], 4
call fcn.00492770
mov edi, eax
test edi, edi
je 0x587fdf
mov al, 0x79
movzx eax, al
cmp eax, 0x3a
je 0x58633f
cmp eax, 0x47
lea eax, [esp + 0x2738]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x2744]
mov dword [eax + esi*8 + 0x14], edi
lea eax, [esp + 0x2700]
mov dword [esp], eax
mov dword [esp + 4], 0x29
call fcn.00446640
mov eax, dword [esp + 0x2744]
mov esi, dword [esp + 0x2748]
lea ecx, [esi + esi*2]
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587fdf
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
lea ecx, [esi*8]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx], 0x25
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], 0x29
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], 0x29
call fcn.00492770
mov edi, eax
test edi, edi
je 0x587fdf
mov al, 0x42
movzx eax, al
cmp eax, 2
je 0x586432
cmp eax, 0x42
lea eax, [esp + 0x2700]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 0x29
call fcn.007c51d0
mov eax, dword [esp + 0x2744]
lea ecx, [esi + esi*2]
mov dword [eax + ecx*8 + 0x14], edi
call fcn.0044c050
mov dword [esp + 0x2754], edx
mov dword [esp + 0x2750], eax
mov eax, dword [esp + 0x2744]
mov esi, dword [esp + 0x2748]
lea ecx, [esi + esi*2]
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587fdf
lea ecx, [esp + 0x2750]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
lea ecx, [esi*8]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx], 4
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], 8
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], 8
call fcn.00492770
mov edi, eax
test edi, edi
je 0x587fdf
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 8
call fcn.007c51d0
mov edx, ebx
mov dword [esp + 0xf4], edx
test edx, edx
mov eax, dword [esp + 0x2744]
lea ecx, [esi + esi*2]
mov dword [eax + ecx*8 + 0x14], edi
mov ebx, dword [esp + 0x120]
je 0x586b39
mov esi, dword [edx]
test esi, esi
je 0x586b39
mov al, 0x17
mov byte [esp + 0xdf], 0xf
mov byte [esp + 0x100], 0x14
mov byte [esp + 0xd8], 0x72
mov byte [esp + 0xe0], 0x2b
mov byte [esp + 0xe4], 0x68
mov byte [esp + 0xec], 0x3e
mov byte [esp + 0xe8], 0x42
mov byte [esp + 0xfc], al
mov eax, dword [esi + 0xc]
mov edi, dword [eax]
cmp edi, 0xfffffff0
jne 0x5866c3
mov dword [esp + 0xf8], esi
mov ecx, dword [eax + 4]
mov dword [esp + 0x114], ecx
mov esi, dword [eax + 8]
mov eax, dword [esp + 0x2744]
mov edi, dword [esp + 0x2748]
lea ecx, [edi + edi*2]
mov dword [esp + 0xf0], ecx
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587fdf
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
shl edi, 3
lea ecx, [edi + edi*2]
mov dword [eax + ecx], 0x12
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0xfffffff0
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], esi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], esi
call fcn.00492770
mov edi, eax
test edi, edi
je 0x587fdf
mov dword [esp + 0x120], ebx
mov ebx, 0xffffffff
test esi, esi
jne 0x5866a7
jmp 0x5866ac
mov dword [esp + 8], esi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
add ebx, 1
jb 0x586690
movzx eax, byte [esp + 0xe8]
cmp eax, 0x6c
jne 0x5866eb
mov byte [esp + 0xe8], 0x6c
jmp 0x5866f3
movzx ecx, byte [esp + 0xec]
cmp ecx, 2
je 0x586726
cmp ecx, 6
je 0x586737
mov dword [esp + 0xf8], esi
cmp ecx, 0x3e
jne 0x586748
mov byte [esp + 0xec], 2
jmp 0x586750
mov byte [esp + 0xe8], 0x42
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0xf0]
mov dword [eax + ecx*8 + 0x14], edi
mov ebx, dword [esp + 0x120]
mov edx, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov al, byte [esp + 0xfc]
jmp 0x586b0c
mov dword [esp + 0xf8], esi
mov byte [esp + 0xec], 0x6e
jmp 0x586750
mov dword [esp + 0xf8], esi
mov byte [esp + 0xec], 0x3e
jmp 0x586750
mov byte [esp + 0xec], 6
mov esi, edi
shr esi, 0x18
cmp esi, 1
je 0x586764
cmp esi, 4
je 0x586764
cmp edi, 0xffffffce
jne 0x586713
movzx ecx, byte [esp + 0xe4]
cmp ecx, 0x50
jne 0x5867ca
mov ecx, dword [eax + 4]
mov dword [esp + 0x114], ecx
mov ebx, dword [eax + 8]
mov dword [esp], edi
call fcn.0068e2e0
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0x2748]
mov dword [esp + 0xf0], ecx
lea ecx, [ecx + ecx*2]
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587fdf
mov byte [esp + 0xe4], 0x50
jmp 0x586821
mov ecx, dword [eax + 4]
mov dword [esp + 0x114], ecx
mov ebx, dword [eax + 8]
mov dword [esp], edi
call fcn.0068e2e0
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0x2748]
mov dword [esp + 0xf0], ecx
lea ecx, [ecx + ecx*2]
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587fdf
mov byte [esp + 0xe4], 0x68
movzx ecx, byte [esp + 0xe0]
and edi, 0xffffff
cmp ecx, 0x33
je 0x5868cc
cmp ecx, 0x72
jne 0x586957
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
mov ecx, dword [esp + 0xf0]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx], edx
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], edi
mov eax, dword [esp + 0x2744]
mov edx, esi
mov byte [eax + ecx + 8], dl
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov edi, ebx
mov dword [eax + ecx + 0x10], edi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], edi
call fcn.00492770
mov ebx, eax
test ebx, ebx
je 0x587fdf
mov byte [esp + 0xe0], 0x33
jmp 0x5869dd
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
mov ecx, dword [esp + 0xf0]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx], edx
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], edi
mov eax, dword [esp + 0x2744]
mov edx, esi
mov byte [eax + ecx + 8], dl
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov edi, ebx
mov dword [eax + ecx + 0x10], edi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], edi
call fcn.00492770
mov ebx, eax
test ebx, ebx
je 0x587fdf
mov byte [esp + 0xe0], 0x72
jmp 0x5869dd
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
mov ecx, dword [esp + 0xf0]
lea ecx, [ecx*8]
lea ecx, [ecx + ecx*2]
mov edx, dword [esp + 0xd4]
mov dword [eax + ecx], edx
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], edi
mov eax, dword [esp + 0x2744]
mov edx, esi
mov byte [eax + ecx + 8], dl
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov edi, ebx
mov dword [eax + ecx + 0x10], edi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], edi
call fcn.00492770
mov ebx, eax
test ebx, ebx
je 0x587fdf
mov byte [esp + 0xe0], 0x2b
movzx eax, byte [esp + 0xd8]
cmp eax, 0x50
mov edx, dword [esp + 0xf4]
jne 0x5869fb
mov byte [esp + 0xd8], 0x50
jmp 0x586a03
mov byte [esp + 0xd8], 0x72
test edi, edi
je 0x586ac3
mov esi, 0xffffffff
movzx eax, byte [esp + 0x100]
cmp eax, 1
je 0x586a6b
cmp eax, 0x14
je 0x586a91
cmp eax, 0x15
jne 0x586ab7
mov byte [esp + 0x100], 0x15
mov dword [esp + 8], edi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.007c51d0
jmp 0x586abc
mov byte [esp + 0x100], 0x53
mov dword [esp + 8], edi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.007c51d0
add esi, 1
jb 0x586a4c
jmp 0x586abc
mov byte [esp + 0x100], 0x14
mov dword [esp + 8], edi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.007c51d0
add esi, 1
jb 0x586a72
jmp 0x586abc
mov byte [esp + 0x100], 1
mov dword [esp + 8], edi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.007c51d0
add esi, 1
jb 0x586a98
mov edx, dword [esp + 0xf4]
movzx eax, byte [esp + 0xdf]
cmp eax, 0xf
mov esi, dword [esp + 0xf8]
jne 0x586ae1
mov byte [esp + 0xdf], 0x29
jmp 0x586ae9
mov byte [esp + 0xdf], 0xf
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0xf0]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*8 + 0x14], ebx
mov al, byte [esp + 0xfc]
mov ebx, dword [esp + 0x120]
movzx eax, al
cmp eax, 0x15
je 0x586b1d
cmp eax, 0x53
jne 0x586b2c
mov al, 0x53
jmp 0x586b1f
mov al, 0x15
mov esi, dword [esi + 4]
test esi, esi
jne 0x5865aa
jmp 0x586b39
mov esi, dword [esi + 4]
test esi, esi
mov al, 0x17
jne 0x5865aa
mov dword [esp + 0x120], ebx
mov dword [esp + 0xf4], edx
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
mov edi, dword [esp + 0x104]
je 0x58764c
mov dword [esp + 0x2684], 0
mov dword [esp + 0x2680], 0
mov dword [esp + 0x2690], edi
mov dword [esp + 0x2770], 0
mov dword [esp + 0x276c], 0
mov dword [esp + 0x2758], 4
mov dword [esp + 0x275c], 2
mov dword [esp + 0x2760], edi
mov dword [esp + 0x2764], eax
mov dword [esp + 0x2768], 0xfffffffc
lea eax, [esp + 0x276c]
mov dword [esp + 8], eax
lea eax, [esp + 0x2770]
mov dword [esp + 4], eax
lea eax, [esp + 0x2758]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x586d07
mov esi, dword [esp + 0x276c]
mov eax, dword [esp + 0x2770]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x2744]
mov ebx, dword [esp + 0x2748]
lea edi, [ebx + ebx*2]
lea ecx, [edi*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x586d07
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
shl ebx, 3
lea ecx, [ebx + ebx*2]
mov dword [eax + ecx], 3
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0xfffffffc
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], esi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], esi
call fcn.00492770
mov ecx, edi
mov edi, eax
test edi, edi
je 0x586d07
mov dword [esp + 0x100], ecx
test esi, esi
je 0x586cc8
mov ebx, 0xffffffff
jmp 0x586cc3
mov dword [esp + 8], esi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
add ebx, 1
jb 0x586cac
mov al, 0x4c
movzx eax, al
cmp eax, 0x67
je 0x586ce9
cmp eax, 0x73
mov ecx, dword [esp + 0x100]
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx*8 + 0x14], edi
jmp 0x586d07
mov eax, 0xffffffff
mov edx, dword [esp + 0x100]
jmp 0x586d02
mov ecx, dword [esp + 0x2744]
mov dword [ecx + edx*8 + 0x14], edi
add eax, 1
jb 0x586cf7
mov al, 0x77
movzx eax, al
cmp eax, 0xc
mov eax, dword [esp + 0x2770]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x2778], 0
mov dword [esp + 0x2774], 0
mov dword [esp + 0x2758], 4
mov dword [esp + 0x275c], 2
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x2760], ecx
mov dword [esp + 0x2764], eax
mov dword [esp + 0x2768], 0xfffffffd
test eax, eax
je 0x586eb0
lea eax, [esp + 0x2774]
mov dword [esp + 8], eax
lea eax, [esp + 0x2778]
mov dword [esp + 4], eax
lea eax, [esp + 0x2758]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x586eb0
mov al, 0x52
movzx eax, al
cmp eax, 0x30
mov esi, dword [esp + 0x2774]
mov eax, dword [esp + 0x2778]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x2744]
mov edi, dword [esp + 0x2748]
lea ecx, [edi + edi*2]
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x586eb0
mov cl, 0x35
movzx ecx, cl
cmp ecx, 0x35
je 0x586dfa
cmp ecx, 0x48
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
lea ecx, [edi*8]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx], 5
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0xfffffffd
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], esi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], esi
call fcn.00492770
mov ebx, eax
test ebx, ebx
je 0x586eb0
mov dword [esp + 0x100], edi
test esi, esi
mov edi, esi
je 0x586e9b
mov esi, 0xffffffff
jmp 0x586e96
mov dword [esp + 8], edi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.007c51d0
add esi, 1
jb 0x586e7f
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0x100]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*8 + 0x14], ebx
mov eax, dword [esp + 0x2778]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x2688], 3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x2694], eax
lea eax, [esp + 0x26fc]
mov dword [esp + 4], eax
lea eax, [esp + 0x2688]
mov dword [esp], eax
call fcn.00594ba0
mov esi, 0x7000002b
test eax, eax
jne 0x587a3d
mov eax, dword [esp + 0x26fc]
lea ecx, [esp + 0x26f8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00595290
test eax, eax
jne 0x587415
mov al, 0x22
movzx ecx, al
cmp ecx, 0xa
je 0x586fa3
mov eax, 0xffffffff
cmp ecx, 0x6f
jne 0x586fe9
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx + 0xc]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x2698]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xf8], ecx
mov byte [esp + 0xfc], cl
mov byte [esp + 0x100], cl
mov byte [esp + 0x114], cl
jmp 0x586f99
mov bh, 0x18
mov byte [esp + 0x114], 0x66
mov byte [esp + 0x100], 0x7b
mov bl, 0x47
mov byte [esp + 0xfc], 0xd
mov dl, 0x55
mov cl, 0x30
mov dword [esp + 0xf8], ecx
mov dh, 0x45
add eax, 1
jb 0x586f70
jmp 0x587050
mov bh, 0x18
mov byte [esp + 0x114], 0x66
mov byte [esp + 0x100], 0x7b
mov bl, 0x47
mov byte [esp + 0xfc], 0xd
mov dl, 0x55
mov al, 0x30
mov dword [esp + 0xf8], eax
mov dh, 0x45
mov eax, dword [ebp + 0x10]
lea eax, [eax + 0xc]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x2698]
mov dword [esp + 0xe0], eax
jmp 0x587050
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx + 0xc]
mov dword [esp + 0xd0], ecx
lea ecx, [esp + 0x2698]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xf8], ecx
mov byte [esp + 0xfc], cl
mov byte [esp + 0x100], cl
mov byte [esp + 0x114], cl
jmp 0x58704b
mov bh, 0x18
mov byte [esp + 0x114], 0x66
mov byte [esp + 0x100], 0x7b
mov bl, 0x47
mov byte [esp + 0xfc], 0xd
mov dl, 0x55
mov cl, 0x30
mov dword [esp + 0xf8], ecx
mov dh, 0x45
add eax, 1
jb 0x587022
mov byte [esp + 0xec], bh
mov byte [esp + 0xe4], dl
mov byte [esp + 0xdf], bl
movzx eax, dh
cmp eax, 0x2d
jne 0x587071
mov cl, 0x2d
jmp 0x587073
mov cl, 0x45
mov dword [esp + 0x2684], 0
mov dword [esp + 0x2680], 0
mov eax, dword [esp + 0x26f8]
test eax, eax
je 0x587415
mov byte [esp + 0xe8], cl
mov ecx, dword [esp + 0xd0]
mov esi, dword [ecx]
mov edi, dword [eax]
mov edx, edi
shr edx, 0x18
cmp dword [esi + 0x14], 0
je 0x5870d1
mov ecx, dword [esp + 0xf8]
test cl, cl
je 0x5870e0
movzx esi, cl
cmp esi, 0x17
je 0x5870e4
cmp esi, 0x3a
jne 0x5870ef
mov cl, 0x3a
jmp 0x5870e6
cmp edx, 2
je 0x587111
cmp edx, 5
je 0x587111
jmp 0x5873be
mov cl, 0x17
jmp 0x5870e6
mov cl, 0x30
mov dword [esp + 0xf8], ecx
jmp 0x5870fa
mov dword [esp + 0xf8], 0
cmp edx, 5
ja 0x587318
mov ecx, 0x36
bt ecx, edx
jae 0x587318
movzx ecx, byte [esp + 0xe4]
cmp ecx, 0x6b
jne 0x587128
mov byte [esp + 0xe4], 0x55
jmp 0x587130
mov byte [esp + 0xe4], 0x6b
mov dword [esp + 0x2688], 4
mov eax, dword [eax]
mov ecx, dword [esp + 0xe0]
mov dword [ecx], eax
lea eax, [esp + 0x2680]
mov dword [esp + 8], eax
lea eax, [esp + 0x2684]
mov dword [esp + 4], eax
lea eax, [esp + 0x2688]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x5879bb
movzx eax, byte [esp + 0xfc]
cmp eax, 0x24
mov cl, byte [esp + 0xdf]
je 0x587195
cmp eax, 0x2d
je 0x587199
cmp eax, 0x65
jne 0x58719d
mov dl, 0xd
jmp 0x58719f
mov dl, 0x24
jmp 0x58719f
mov dl, 0x65
jmp 0x58719f
mov dl, 0x2d
mov eax, dword [esp + 0x26f8]
mov esi, dword [eax + 4]
mov eax, 0xffffff
and esi, eax
cmp esi, dword [esp + 0x2680]
mov eax, dword [esp + 0x2684]
mov dword [esp + 0xf0], eax
jne 0x5879dc
mov dword [esp + 0xd8], esi
mov byte [esp + 0xfc], dl
movzx eax, cl
cmp eax, 0x6c
jne 0x5871eb
mov byte [esp + 0xdf], 0x47
jmp 0x5871f3
mov byte [esp + 0xdf], 0x6c
mov eax, dword [esp + 0xe0]
mov edi, dword [eax]
mov dword [esp], edi
call fcn.0068e2e0
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x2744]
mov ebx, dword [esp + 0x2748]
lea ecx, [ebx + ebx*2]
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov esi, 0x70000003
test eax, eax
je 0x58739c
mov dword [esp + 0xcc], ebx
mov ecx, edi
shr ecx, 0x18
and edi, 0xffffff
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
lea edx, [ebx*8]
lea edx, [edx + edx*2]
mov esi, dword [esp + 0xd4]
mov dword [eax + edx], esi
mov eax, dword [esp + 0x2744]
mov dword [eax + edx + 4], edi
mov eax, dword [esp + 0x2744]
mov byte [eax + edx + 8], cl
mov eax, dword [esp + 0x2744]
mov dword [eax + edx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov ebx, dword [esp + 0xd8]
mov dword [eax + edx + 0x10], ebx
mov eax, dword [esp + 0x2744]
mov dword [eax + edx + 0x14], 0
mov dword [esp], ebx
call fcn.00492770
mov edi, eax
mov esi, 0x70000003
test edi, edi
je 0x58739c
test ebx, ebx
je 0x587345
movzx eax, byte [esp + 0x100]
cmp eax, 0x2d
je 0x587326
mov esi, 0xffffffff
cmp eax, 0x7b
jne 0x587311
mov byte [esp + 0x100], 0x48
jmp 0x58732e
mov byte [esp + 0x100], 0x2d
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
add esi, 1
jb 0x5872f2
jmp 0x587345
cmp edi, 0xffffffce
jne 0x5873be
jmp 0x587111
mov byte [esp + 0x100], 0x7b
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
movzx ecx, byte [esp + 0x114]
mov eax, 0xffffffff
cmp ecx, 0x66
mov ebx, dword [esp + 0xcc]
je 0x587376
jmp 0x587395
mov byte [esp + 0x114], 0x66
mov ecx, dword [esp + 0x2744]
lea edx, [ebx + ebx*2]
mov dword [ecx + edx*8 + 0x14], edi
xor esi, esi
add eax, 1
jb 0x587360
jmp 0x58739c
mov byte [esp + 0x114], 0x32
mov ecx, dword [esp + 0x2744]
lea edx, [ebx + ebx*2]
mov dword [ecx + edx*8 + 0x14], edi
xor esi, esi
add eax, 1
jb 0x58737f
mov eax, dword [esp + 0x2684]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x2684], 0
test esi, esi
jne 0x587a23
movzx eax, byte [esp + 0xec]
cmp eax, 0x18
je 0x5873da
cmp eax, 0x45
jne 0x5873e4
mov byte [esp + 0xec], 0x4d
jmp 0x5873ec
mov byte [esp + 0xec], 0x45
jmp 0x5873ec
mov byte [esp + 0xec], 0x18
mov eax, dword [esp + 0x26fc]
lea ecx, [esp + 0x26f8]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00595290
test eax, eax
mov dh, byte [esp + 0xe8]
je 0x587065
mov eax, dword [esp + 0x26fc]
mov dword [esp], eax
call fcn.00595380
mov dword [esp + 0x26fc], 0
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
mov dword [esp + 0x2780], 0
mov dword [esp + 0x277c], 0
mov dword [esp + 0x2758], 4
mov dword [esp + 0x275c], 2
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x2760], ecx
mov dword [esp + 0x2764], eax
mov dword [esp + 0x2768], 0xfffffff9
test eax, eax
je 0x587603
mov al, 0x10
movzx eax, al
cmp eax, 0x1f
je 0x587495
cmp eax, 0x37
lea eax, [esp + 0x277c]
mov dword [esp + 8], eax
lea eax, [esp + 0x2780]
mov dword [esp + 4], eax
lea eax, [esp + 0x2758]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x587603
mov esi, dword [esp + 0x277c]
mov eax, dword [esp + 0x2780]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x2744]
mov edi, dword [esp + 0x2748]
lea ecx, [edi + edi*2]
mov dword [esp + 0x100], ecx
lea ecx, [ecx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587603
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
shl edi, 3
lea ecx, [edi + edi*2]
mov dword [eax + ecx], 0x22
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0xfffffff9
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], esi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], esi
call fcn.00492770
mov edi, eax
test edi, edi
je 0x587603
mov al, 0x1d
movzx eax, al
cmp eax, 0x1d
mov al, 0x30
test esi, esi
je 0x5875ee
mov ebx, 0xffffffff
movzx eax, al
cmp eax, 0x30
je 0x5875cb
cmp eax, 0x77
jne 0x5875e9
mov dword [esp + 8], esi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
jmp 0x5875ee
mov dword [esp + 8], esi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
add ebx, 1
jb 0x5875b4
jmp 0x5875ee
mov dword [esp + 8], esi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
add ebx, 1
jb 0x5875d2
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0x100]
mov dword [eax + ecx*8 + 0x14], edi
mov ebx, dword [ebp + 0xc]
mov al, 0x59
movzx eax, al
cmp eax, 0x53
je 0x587636
cmp eax, 0x59
jne 0x587636
mov esi, 0xffffffff
mov edi, dword [esp + 0x104]
jmp 0x58762f
mov eax, dword [esp + 0x2780]
mov dword [esp], eax
call fcn.004936c0
add esi, 1
jb 0x587620
jmp 0x58764c
mov eax, dword [esp + 0x2780]
mov dword [esp], eax
call fcn.004936c0
mov edi, dword [esp + 0x104]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x14], 0
je 0x587869
mov al, 0x7b
movzx eax, al
cmp eax, 2
je 0x587669
cmp eax, 0x7b
mov bl, 0x33
mov dword [esp + 0x2788], 0
mov dword [esp + 0x2784], 0
mov dword [esp + 0x2758], 4
mov dword [esp + 0x275c], 2
mov dword [esp + 0x2760], edi
mov dword [esp + 0x2764], 0
mov dword [esp + 0x2768], 1
lea eax, [esp + 0x2784]
mov dword [esp + 8], eax
lea eax, [esp + 0x2788]
mov dword [esp + 4], eax
lea eax, [esp + 0x2758]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x587802
mov byte [esp + 0x100], bl
mov esi, dword [esp + 0x2784]
mov eax, dword [esp + 0x2788]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x2744]
mov edi, dword [esp + 0x2748]
lea ebx, [edi + edi*2]
lea ecx, [ebx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x5877f4
mov cl, 0x14
movzx ecx, cl
cmp ecx, 0x14
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
shl edi, 3
lea ecx, [edi + edi*2]
mov dword [eax + ecx], 0x23
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 1
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], esi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], esi
call fcn.00492770
mov edi, eax
test edi, edi
je 0x5877f4
mov al, 0x49
movzx eax, al
cmp eax, 0x49
je 0x5877b4
mov dword [esp + 0xfc], ebx
cmp eax, 0x73
jmp 0x5877bb
mov dword [esp + 0xfc], ebx
mov ebx, 0xffffffff
test esi, esi
jne 0x5877dd
jmp 0x5877e2
mov dword [esp + 8], esi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
add ebx, 1
jb 0x5877c6
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0xfc]
mov dword [eax + ecx*8 + 0x14], edi
mov edi, dword [esp + 0x104]
mov bl, byte [esp + 0x100]
mov esi, 0xffffffff
movzx eax, bl
cmp eax, 0x40
je 0x58784a
cmp eax, 0x5a
mov ebx, dword [ebp + 0xc]
je 0x587843
mov eax, dword [esp + 0x2788]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
jmp 0x587869
mov eax, dword [esp + 0x2788]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
add esi, 1
jb 0x58782e
jmp 0x587869
mov ebx, dword [ebp + 0xc]
jmp 0x587864
mov eax, dword [esp + 0x2788]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
add esi, 1
jb 0x58784f
cmp dword [eax + 4], 0
je 0x587ebf
cmp dword [eax + 0x14], 0
jne 0x587ebf
mov eax, dword [ebx]
test eax, eax
je 0x587c8b
lea ecx, [esp + 0x269c]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x40], 0x3e
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00524b40
test eax, eax
je 0x58791e
mov dword [esp + 0x118], eax
jmp 0x587fdf
cmp dword [esp + 0x269c], 0
je 0x587c8b
mov ebx, dword [esp + 0x120]
mov al, 0x5f
movzx eax, al
cmp eax, 0x4e
je 0x587a69
cmp eax, 0x5f
jne 0x587ad6
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
lea ecx, [esp + 0x26f0]
xor edx, edx
call fcn.0054c950
test eax, eax
je 0x587b43
mov dword [esp + 0x118], eax
jmp 0x587fdf
mov eax, dword [esp + 0x26fc]
mov dword [esp], eax
call fcn.00595380
mov dword [esp + 0x26fc], 0
mov esi, 0x7000000a
jmp 0x587a3d
mov edi, 0xffffffff
mov esi, 0x70000001
jmp 0x587a1c
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp + 0x2684], 0
mov eax, dword [esp + 0x26fc]
mov dword [esp], eax
call fcn.00595380
mov dword [esp + 0x26fc], 0
add edi, 1
jb 0x5879e8
jmp 0x587a3d
mov eax, dword [esp + 0x26fc]
mov dword [esp], eax
call fcn.00595380
mov dword [esp + 0x26fc], 0
mov al, 0x17
movzx eax, al
cmp eax, 0x14
jne 0x587a5d
mov eax, 0xffffffff
add eax, 1
jb 0x587a4c
mov dword [esp + 0x118], esi
jmp 0x587fdf
mov dword [esp + 0x118], esi
jmp 0x587fdf
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
lea ecx, [esp + 0x26f0]
xor edx, edx
call fcn.0054c950
test eax, eax
je 0x587b43
mov dword [esp + 0x118], eax
jmp 0x587fdf
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
lea ecx, [esp + 0x26f0]
xor edx, edx
call fcn.0054c950
test eax, eax
je 0x587b43
mov dword [esp + 0x118], eax
jmp 0x587fdf
mov eax, dword [esp + 0x2744]
mov edi, dword [esp + 0x2748]
lea esi, [edi + edi*2]
lea ecx, [esi*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587fdf
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
shl edi, 3
lea ecx, [edi + edi*2]
mov dword [eax + ecx], 0x38
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], 8
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], 8
call fcn.00492770
mov edi, eax
test edi, edi
je 0x587fdf
lea eax, [esp + 0x26f0]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x2744]
mov dword [eax + esi*8 + 0x14], edi
mov eax, dword [esp + 0x26f0]
mov ecx, dword [esp + 0x26f4]
mov edx, dword [ebx]
mov esi, dword [ebx + 4]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], edx
mov dword [esp], str.Renaming_SL_Provisional__llu_to__llu_n
call fcn.004414c0
cmp dword [ebp + 0x20], 0
mov edi, dword [esp + 0x104]
je 0x587c8b
mov ecx, dword [esp + 0x120]
mov al, 6
movzx eax, al
cmp eax, 6
je 0x587c6d
cmp eax, 0x1b
mov eax, ecx
movsd xmm0, qword [eax]
mov eax, dword [ebp + 0x20]
movsd qword [eax], xmm0
jmp 0x587c8b
mov eax, 0xffffffff
jmp 0x587c86
mov ecx, dword [esp + 0x120]
movsd xmm0, qword [ecx]
mov ecx, dword [ebp + 0x20]
movsd qword [ecx], xmm0
add eax, 1
jb 0x587c74
mov bl, 0x4d
mov dword [esp + 0x2790], 0
mov dword [esp + 0x278c], 0
mov dword [esp + 0x2758], 4
mov dword [esp + 0x275c], 2
mov dword [esp + 0x2760], edi
mov dword [esp + 0x2764], 0
mov dword [esp + 0x2768], 2
lea eax, [esp + 0x278c]
mov dword [esp + 8], eax
lea eax, [esp + 0x2790]
mov dword [esp + 4], eax
lea eax, [esp + 0x2758]
mov dword [esp], eax
call fcn.00593400
test eax, eax
jne 0x587e70
mov esi, dword [esp + 0x278c]
mov eax, dword [esp + 0x2790]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0x2744]
mov edi, dword [esp + 0x2748]
lea ebx, [edi + edi*2]
lea ecx, [ebx*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
mov edx, ebx
mov bl, 0x4d
test eax, eax
je 0x587e70
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
shl edi, 3
lea ecx, [edi + edi*2]
mov dword [eax + ecx], 6
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 2
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0xff
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], esi
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], esi
mov edi, edx
call fcn.00492770
mov ecx, edi
mov edi, eax
test edi, edi
je 0x587e70
mov dword [esp + 0x100], ecx
mov al, 0x2b
movzx eax, al
cmp eax, 0x4f
je 0x587dd1
cmp eax, 0x7e
mov byte [esp + 0xfc], 0x14
mov al, 1
test esi, esi
je 0x587e28
movzx eax, al
mov ebx, 0xffffffff
cmp eax, 0x3b
je 0x587e05
jmp 0x587e23
mov dword [esp + 8], esi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
add ebx, 1
jb 0x587dee
jmp 0x587e28
mov dword [esp + 8], esi
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
add ebx, 1
jb 0x587e0c
movzx eax, byte [esp + 0xfc]
cmp eax, 0x14
je 0x587e3a
cmp eax, 0x5c
jne 0x587e50
mov eax, dword [esp + 0x2744]
mov ecx, dword [esp + 0x100]
mov dword [eax + ecx*8 + 0x14], edi
mov bl, 0x4d
jmp 0x587e70
mov eax, 0xffffffff
mov bl, 0x4d
mov edx, dword [esp + 0x100]
jmp 0x587e6b
mov ecx, dword [esp + 0x2744]
mov dword [ecx + edx*8 + 0x14], edi
add eax, 1
jb 0x587e60
movzx eax, bl
cmp eax, 0x45
je 0x587eb0
mov esi, 0xffffffff
cmp eax, 0x4d
je 0x587e93
jmp 0x587ea9
mov eax, dword [esp + 0x2790]
mov dword [esp], eax
call fcn.004936c0
add esi, 1
jb 0x587e84
jmp 0x587ebf
mov eax, dword [esp + 0x2790]
mov dword [esp], eax
call fcn.004936c0
add esi, 1
jb 0x587e9a
jmp 0x587ebf
mov eax, dword [esp + 0x2790]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x2744]
mov edi, dword [esp + 0x2748]
lea esi, [edi + edi*2]
lea ecx, [esi*8 + 0x18]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00492a60
test eax, eax
je 0x587fdf
mov ebx, dword [ebp + 0x18]
mov cl, 0xe
movzx ecx, cl
cmp ecx, 0x39
mov dword [esp + 0x2744], eax
inc dword [esp + 0x2748]
shl edi, 3
lea ecx, [edi + edi*2]
mov dword [eax + ecx], 8
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 4], 0
mov eax, dword [esp + 0x2744]
mov byte [eax + ecx + 8], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x10], ebx
mov eax, dword [esp + 0x2744]
mov dword [eax + ecx + 0x14], 0
mov dword [esp], ebx
call fcn.00492770
mov edi, eax
test edi, edi
je 0x587fdf
test ebx, ebx
je 0x587f82
mov eax, dword [ebp + 0x14]
mov cl, 0x12
movzx ecx, cl
cmp ecx, 0x16
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.007c51d0
mov eax, dword [esp + 0x2744]
mov dword [eax + esi*8 + 0x14], edi
lea esi, [esp + 0x2740]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 2
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
call fcn.00572ee0
test eax, eax
je 0x58809b
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x124]
mov eax, dword [eax]
test eax, eax
je 0x588056
mov cl, 0x6e
xor esi, esi
mov byte [esp + 0x120], cl
mov ecx, dword [esp + 0x11c]
mov ecx, dword [ecx]
lea edx, [esi + esi*2]
mov edi, dword [ecx + edx*8 + 0x14]
mov ebx, 0xffffffff
test edi, edi
jne 0x588031
jmp 0x588036
mov dword [esp], edi
call fcn.004936c0
mov eax, dword [esp + 0x124]
mov eax, dword [eax]
add ebx, 1
jb 0x588020
movzx ecx, byte [esp + 0x120]
inc esi
cmp ecx, 0x17
jne 0x588050
cmp esi, eax
mov cl, 0x6e
jb 0x587ff0
jmp 0x588056
cmp esi, eax
mov cl, 0x17
jb 0x587ff0
mov al, 0x39
movzx eax, al
cmp eax, 0x3f
je 0x588063
cmp eax, 0x5f
mov eax, dword [esp + 0x11c]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x273c]
test eax, eax
je 0x58808f
mov dword [esp], eax
mov dword [esp + 4], 0x2a
call fcn.0064bf00
mov eax, dword [esp + 0x118]
jmp 0x589f34
mov al, 0x1f
movzx eax, al
cmp eax, 0x3f
je 0x5880d8
cmp eax, 0x69
mov edi, dword [esp + 0x104]
lea eax, [esp + 0x273c]
jne 0x588106
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0059a8d0
test eax, eax
je 0x588126
mov dword [esp + 0x118], eax
jmp 0x587fdf
lea eax, [esp + 0x273c]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov edi, dword [esp + 0x104]
mov dword [esp], edi
call fcn.0059a8d0
test eax, eax
je 0x588126
mov dword [esp + 0x118], eax
jmp 0x587fdf
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], edi
call fcn.0059a8d0
test eax, eax
je 0x588126
mov dword [esp + 0x118], eax
jmp 0x587fdf
mov dword [esp + 0x104], edi
mov eax, dword [esp + 0x273c]
mov ecx, dword [eax + 4]
mov dword [esp + 0x114], ecx
test ecx, ecx
je 0x588190
mov esi, 0xffffffff
jmp 0x58814e
mov cl, 0xc
mov edx, dword [eax + 8]
add esi, 1
jb 0x588149
lea edi, [edx + 4]
xor esi, esi
movzx ecx, cl
cmp ecx, 0xc
je 0x58816e
cmp ecx, 0x29
je 0x588172
cmp ecx, 0x79
jne 0x588176
mov cl, 0x19
jmp 0x588178
mov cl, 0x29
jmp 0x588178
mov cl, 0x79
jmp 0x588178
mov cl, 0xc
mov ch, 0x3a
cmp dword [edi], 1
je 0x5882a9
add edi, 0x1c
inc esi
cmp esi, dword [esp + 0x114]
jb 0x588158
cmp dword [esp + 0xf4], 0
setne cl
or cl, byte [esp + 0x110]
jne 0x5885e3
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + 0x14], 0
jne 0x5885e3
cmp dword [ecx + 0x18], 0
jne 0x5885e3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x27ac], esi
mov dword [esp + 0x27a8], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x27b4], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x27b0], edx
mov dword [esp + 0x27a4], 0
mov dword [esp + 0x27a0], 0
mov dword [esp + 0x279c], 0
mov dword [esp + 0x2798], 0
mov dword [esp + 0x2794], 0
test eax, eax
je 0x5882f0
mov dword [esp + 0x2758], 4
mov dword [esp + 0x275c], 2
mov dword [esp + 0x2760], ecx
mov dword [esp + 0x2764], eax
mov dword [esp + 0x2768], 0xfffffffe
lea eax, [esp + 0x27a0]
mov dword [esp + 8], eax
lea eax, [esp + 0x27a4]
mov dword [esp + 4], eax
lea eax, [esp + 0x2758]
mov dword [esp], eax
call fcn.00593400
mov dword [esp + 0x118], eax
test eax, eax
je 0x5884e2
xor edi, edi
jmp 0x588586
movzx ecx, ch
cmp ecx, 0x54
mov cl, 5
imul edi, esi, 0x1c
mov dword [esp + 0x118], 0x30000003
cmp dword [edx + edi + 0x14], 4
jne 0x587fdf
movzx ecx, cl
cmp ecx, 0x47
imul ecx, esi, 0x1c
mov ecx, dword [edx + ecx + 0x18]
mov dword [esp + 0x118], 0
cmp dword [ecx], 0
jne 0x587fdf
jmp 0x588190
mov dword [esp + 0x27a0], 0x1c
mov dword [esp + 4], 1
mov dword [esp], 0x1c
call fcn.00493840
mov edi, eax
mov dword [esp + 0x27a4], edi
test edi, edi
je 0x5883f8
mov al, 0x5c
movzx eax, al
cmp eax, 0x58
jne 0x58840a
mov dword [esp + 0x279c], 0x636f6964
mov dword [esp + 0x2794], 1
lea eax, [esp + 0x279c]
mov dword [esp + 4], eax
mov dword [esp], edi
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x27a4]
add eax, 4
lea ecx, [esp + 0x27a8]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x27a4]
add eax, 0xc
lea ecx, [esp + 0x2798]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x27a4]
add eax, 0x10
lea ecx, [esp + 0x2794]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x27a4]
add eax, 0x14
lea ecx, [esp + 0x27b0]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
jmp 0x5884e2
xor edi, edi
mov dword [esp + 0x118], 0x70000003
jmp 0x588586
mov esi, 0xffffffff
lea ebx, [esp + 0x279c]
jmp 0x5884d9
mov dword [esp + 0x279c], 0x636f6964
mov dword [esp + 0x2794], 1
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x27a4]
add eax, 4
lea ecx, [esp + 0x27a8]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
mov eax, dword [esp + 0x27a4]
add eax, 0xc
lea ecx, [esp + 0x2798]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x27a4]
add eax, 0x10
lea ecx, [esp + 0x2794]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 4
call fcn.007c51d0
mov eax, dword [esp + 0x27a4]
add eax, 0x14
lea ecx, [esp + 0x27b0]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
add esi, 1
jb 0x58841b
mov al, 0x6f
movzx eax, al
cmp eax, 0x6f
mov dword [esp + 4], 0x1c
mov dword [esp], 1
call fcn.00493840
mov edi, eax
mov dword [esp + 0x118], 0x70000003
test edi, edi
je 0x588586
mov dword [edi], 0xfffffffe
mov eax, dword [esp + 0x27a0]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x27a4]
mov dword [edi + 4], eax
mov dword [esp + 4], 8
mov dword [esp], 1
call fcn.00493840
mov dword [esp + 0x118], 0x70000003
test eax, eax
je 0x588586
mov dword [esp + 0xf4], eax
mov esi, 0xffffffff
lea ebx, [edi + 0xc]
jmp 0x588574
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
call fcn.007c5200
mov dword [esp + 0x118], 0
add esi, 1
jb 0x58855d
jmp 0x58859d
mov eax, dword [esp + 0x27a4]
mov dword [esp], eax
call fcn.004936c0
mov dword [esp], edi
call fcn.004936c0
mov al, 0x68
movzx eax, al
cmp eax, 0x29
cmp dword [esp + 0x118], 0
jne 0x587fdf
mov ecx, 0xffffffff
mov dword [esp + 0x114], eax
jmp 0x5885de
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0xf4]
mov dword [eax], edx
mov eax, dword [esp + 0x273c]
mov edx, dword [eax + 4]
mov dword [esp + 0x114], edx
add ecx, 1
jb 0x5885c1
mov cl, 0x45
movzx ecx, cl
cmp ecx, 0x39
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
cmp dword [ecx + 0x14], 0
sete byte [esp + 0xe8]
setne dl
mov dword [esp + 0xe0], 0
cmp dword [esp + 0x114], 0
je 0x588a5f
movzx ecx, dl
mov dword [esp + 0xec], ecx
mov dh, 0x22
mov byte [esp + 0xdf], 0x71
mov byte [esp + 0xe4], 0x13
mov byte [esp + 0xf0], 0x63
mov byte [esp + 0x100], 0xf
mov byte [esp + 0x114], 0x7c
mov dword [esp + 0xe0], 0
mov dl, 0x37
xor edi, edi
mov ebx, dword [esp + 0x120]
movzx ecx, dl
cmp ecx, 0x37
jne 0x588693
mov dl, 0x68
mov eax, dword [eax + 8]
imul ecx, edi, 0x1c
mov esi, dword [eax + ecx + 4]
cmp esi, 1
je 0x588a19
cmp esi, 0x33
je 0x5886ba
cmp esi, 0x10
jne 0x588791
jmp 0x588747
mov dl, 0x37
mov eax, dword [eax + 8]
imul ecx, edi, 0x1c
mov esi, dword [eax + ecx + 4]
cmp esi, 1
je 0x588a19
cmp esi, 0x10
je 0x588747
cmp esi, 0x33
jne 0x588791
mov dword [esp + 0x118], esi
mov byte [esp + 0xf8], dh
mov byte [esp + 0xfc], dl
imul ecx, edi, 0x1c
mov esi, dword [eax + ecx]
mov ebx, 0xffffffff
cmp esi, 1
jne 0x58871f
cmp dword [eax + ecx + 0x14], 4
jne 0x588b17
movzx esi, byte [esp + 0x100]
mov edx, 0xffffffff
cmp esi, 0xf
mov ebx, dword [esp + 0x120]
je 0x58873d
mov byte [esp + 0x100], 0xf
mov eax, dword [eax + ecx + 0x18]
mov eax, dword [eax]
mov dword [ebx + 0x1ac], eax
jmp 0x588874
lea edx, [eax + ecx]
add ebx, 1
jb 0x58871c
jmp 0x5887ff
mov byte [esp + 0x100], 0x54
mov esi, dword [eax + ecx + 0x18]
mov esi, dword [esi]
mov dword [ebx + 0x1ac], esi
add edx, 1
jb 0x588729
jmp 0x588874
imul ecx, edi, 0x1c
cmp dword [eax + ecx], 1
mov ebx, dword [esp + 0x120]
jne 0x588791
mov byte [esp + 0xf8], dh
mov byte [esp + 0xfc], dl
mov edx, 0xffffffff
cmp dword [eax + ecx + 0x14], 8
je 0x588787
jmp 0x588b27
mov esi, dword [eax + ecx + 0x18]
movsd xmm0, qword [esi]
movsd qword [esp + 0x26f0], xmm0
add edx, 1
jb 0x588776
jmp 0x588874
mov dword [esp + 0x118], esi
mov byte [esp + 0xf8], dh
mov byte [esp + 0xfc], dl
mov ecx, 0xffffffff
movzx ebx, byte [esp + 0x114]
cmp ebx, 0x37
je 0x5887dd
cmp ebx, 0x44
je 0x5887e4
cmp ebx, 0x7c
jne 0x5887ee
mov byte [esp + 0x114], 0x37
jmp 0x5887f6
mov byte [esp + 0x114], 0x7c
imul esi, edi, 0x1c
lea edx, [eax + esi]
mov esi, dword [eax + esi]
add ecx, 1
jb 0x5887cc
jmp 0x5887ff
mov byte [esp + 0x114], 0x44
jmp 0x5887f6
mov byte [esp + 0x114], 0x27
imul ecx, edi, 0x1c
lea edx, [eax + ecx]
mov esi, dword [eax + ecx]
mov ebx, dword [esp + 0x120]
lea ecx, [esi - 1]
cmp ecx, 2
jae 0x58882a
movzx ecx, byte [esp + 0xf0]
cmp ecx, 0x47
je 0x588887
cmp ecx, 0x63
jne 0x588891
mov byte [esp + 0xf0], 0x63
jmp 0x588899
cmp esi, 3
jne 0x588874
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0xec]
call fcn.004dd150
test eax, eax
mov dl, byte [esp + 0xfc]
mov dh, byte [esp + 0xf8]
je 0x588a19
jmp 0x588b37
mov dl, byte [esp + 0xfc]
mov dh, byte [esp + 0xf8]
jmp 0x588a19
mov byte [esp + 0xf0], 0x47
jmp 0x588899
mov byte [esp + 0xf0], 0x52
cmp byte [esp + 0xe8], 0
je 0x5888f4
mov cl, byte [esp + 0xe4]
mov edx, dword [esp + 0x118]
movzx ecx, cl
cmp ecx, 0x13
jne 0x5888c3
mov byte [esp + 0xe4], 0x5b
jmp 0x5888cb
mov byte [esp + 0xe4], 0x13
cmp edx, 0x19
ja 0x5888da
mov ecx, 0x2410068
bt ecx, edx
jb 0x5888f4
add edx, 0xffffffdf
cmp edx, 0x11
ja 0x5889c5
mov ecx, 0x30007
bt ecx, edx
jae 0x5889c5
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
jne 0x5889c5
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0x108]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xec]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0x13
mov dword [esp + 4], 0
mov dword [esp], 0
xor ecx, ecx
xor edx, edx
call fcn.0054c950
mov dword [esp + 0x118], eax
test eax, eax
jne 0x587fdf
mov dl, byte [esp + 0xdf]
movzx eax, dl
mov ecx, 0xffffffff
cmp eax, 0x71
jne 0x5889ae
mov byte [esp + 0xdf], 0x71
mov eax, dword [esp + 0x273c]
mov eax, dword [eax + 8]
mov dword [esp + 0xe0], 1
jmp 0x5889c5
mov dl, 0x37
mov eax, dword [esp + 0x273c]
mov eax, dword [eax + 8]
add ecx, 1
jb 0x5889a2
mov dword [esp + 0xe0], 1
mov byte [esp + 0xdf], dl
mov edx, dword [esp + 0xf4]
mov dword [esp + 0xf4], edx
imul ecx, edi, 0x1c
add ecx, eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0xc], 1
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0xec]
call fcn.004fddc0
test eax, eax
mov dl, byte [esp + 0xfc]
mov dh, byte [esp + 0xf8]
jne 0x588b0b
movzx eax, dh
cmp eax, 0x22
je 0x588a3b
cmp eax, 0x32
jne 0x588a3f
inc edi
mov eax, dword [esp + 0x273c]
cmp edi, dword [eax + 4]
mov dh, 0x22
jb 0x588663
jmp 0x588a52
mov dh, 0x28
jmp 0x588a41
mov dh, 0x32
inc edi
mov eax, dword [esp + 0x273c]
cmp edi, dword [eax + 4]
jb 0x588663
mov dword [esp + 0x120], ebx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0xc]
cmp dword [ecx + 4], 0
je 0x588ba3
mov al, 0x1d
movzx eax, al
cmp eax, 0x1a
cmp dword [ecx + 0x14], 0
jne 0x588ba3
mov eax, dword [esp + 0xe0]
or eax, dword [esp + 0x269c]
je 0x588ba3
mov al, 0x33
movzx eax, al
cmp eax, 0x33
mov dword [esp + 0x267c], 0
mov dword [esp + 0x2678], 0
mov dword [esp + 0x2688], 4
mov eax, dword [esp + 0x104]
mov dword [esp + 0x2690], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp + 0x2694], eax
mov dword [esp + 0x2698], 0xfffffffa
lea eax, [esp + 0x2678]
mov dword [esp + 4], eax
lea eax, [esp + 0x267c]
mov dword [esp], eax
call fcn.00449120
test eax, eax
je 0x588b43
mov dword [esp + 0x118], 0x700002bb
jmp 0x587fdf
mov dword [esp + 0x118], eax
jmp 0x587fdf
mov dword [esp + 0x118], 0x30000003
jmp 0x587fdf
mov dword [esp + 0x118], 0x30000003
jmp 0x587fdf
mov dword [esp + 0x118], eax
jmp 0x587fdf
lea eax, [esp + 0x2688]
mov ecx, dword [esp + 0x267c]
mov edx, dword [esp + 0x2678]
lea esi, [esp + 0x26ec]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 0x10], 1
mov dword [esp + 4], 0
call fcn.00593f40
mov esi, eax
mov dword [esp + 0x118], esi
mov eax, dword [esp + 0x267c]
mov dword [esp], eax
call fcn.004936c0
test esi, esi
jne 0x587fdf
mov eax, dword [esp + 0x26f0]
mov dword [esp + 0x118], 0
or eax, dword [esp + 0x26f4]
je 0x587fdf
mov al, 0x56
movzx eax, al
cmp eax, 0x56
mov al, byte [esp + 0xe8]
xor al, 1
or byte [esp + 0x110], al
jne 0x588c92
mov eax, dword [ebp + 8]
mov eax, dword [eax]
test eax, eax
je 0x588c0e
mov cl, 7
movzx ecx, cl
cmp ecx, 7
je 0x588c1e
cmp ecx, 0xa
jne 0x588c34
mov eax, dword [eax]
test eax, eax
jne 0x588c3e
mov dword [esp + 0x118], 0x700002bb
jmp 0x587fdf
mov dword [esp + 0x118], 0x700002bb
jmp 0x587fdf
mov eax, dword [eax]
test eax, eax
jne 0x588c3e
mov dword [esp + 0x118], 0x700002bb
jmp 0x587fdf
mov eax, dword [eax]
test eax, eax
je 0x588f9b
mov esi, dword [eax + 0xc]
cmp dword [esi], 0xfffffffe
je 0x588c5d
mov eax, dword [eax + 4]
test eax, eax
jne 0x588c3e
mov dword [esp + 0x118], 0x700002bb
jmp 0x587fdf
test esi, esi
je 0x588fab
mov edi, 0xffffffff
lea ebx, [esp + 0x26f0]
jmp 0x588c8d
mov eax, dword [esi + 4]
add eax, 4
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
add edi, 1
jb 0x588c73
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x588f47
mov cl, 0x43
movzx ecx, cl
mov bl, 0x1b
lea esi, [esp + 0x2688]
cmp ecx, 0x43
je 0x588d28
cmp ecx, 0x50
jne 0x588d91
mov dword [esp + 0x2688], 4
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x2690], ecx
mov dword [esp + 0x2694], eax
mov dword [esp + 0x2698], 0xfffffffe
lea eax, [esp + 0x26ec]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x26a0]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.005938f0
test eax, eax
je 0x588dfa
mov dword [esp + 0x118], eax
jmp 0x587fdf
mov dword [esp + 0x2688], 4
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x2690], ecx
mov dword [esp + 0x2694], eax
mov dword [esp + 0x2698], 0xfffffffe
lea eax, [esp + 0x26ec]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x26a0]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.005938f0
test eax, eax
je 0x588dfa
mov dword [esp + 0x118], eax
jmp 0x587fdf
mov dword [esp + 0x2688], 4
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x2690], ecx
mov dword [esp + 0x2694], eax
mov dword [esp + 0x2698], 0xfffffffe
lea eax, [esp + 0x26ec]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x26a0]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.005938f0
test eax, eax
je 0x588dfa
mov dword [esp + 0x118], eax
jmp 0x587fdf
movzx eax, bl
cmp eax, 0x1b
je 0x588e77
cmp eax, 0x61
jne 0x588edf
lea eax, [esp + 0x26a4]
lea ecx, [esp + 0x26f0]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
lea eax, [esp + 0x26ec]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x26a0]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.00593f40
test eax, eax
je 0x588f47
mov dword [esp + 0x118], eax
jmp 0x587fdf
lea eax, [esp + 0x26a4]
lea ecx, [esp + 0x26f0]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
lea eax, [esp + 0x26ec]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x26a0]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.00593f40
test eax, eax
je 0x588f47
mov dword [esp + 0x118], eax
jmp 0x587fdf
lea eax, [esp + 0x26a4]
lea ecx, [esp + 0x26f0]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 8
call fcn.007c51d0
lea eax, [esp + 0x26ec]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x26a0]
mov dword [esp + 0xc], eax
mov dword [esp], esi
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0x1c
mov dword [esp + 4], 0
call fcn.00593f40
test eax, eax
je 0x588f47
mov dword [esp + 0x118], eax
jmp 0x587fdf
cmp dword [ebp + 0x1c], 0
mov eax, dword [esp + 0x26f0]
mov ecx, dword [esp + 0x26f4]
mov edx, dword [esp + 0x120]
mov dword [edx + 4], ecx
mov dword [edx], eax
je 0x587fdf
mov dl, 0x70
movzx edx, dl
cmp edx, 0x70
jne 0x588f82
mov edx, dword [ebp + 0x1c]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x587fdf
mov edx, 0xffffffff
jmp 0x588f91
mov esi, dword [ebp + 0x1c]
mov dword [esi], eax
mov dword [esi + 4], ecx
add edx, 1
jb 0x588f89
jmp 0x587fdf
mov dword [esp + 0x118], 0x700002bb
jmp 0x587fdf
mov dword [esp + 0x118], 0x700002bb
jmp 0x587fdf
mov edx, 0x15
mov byte [esp + 0xbe], 0x27
mov byte [esp + 0x73], 3
mov byte [esp + 0xbf], 0x67
mov cl, 0x30
mov eax, dword [edi]
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], 0
test eax, eax
je 0x589006
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x94], eax
jmp 0x589114
mov byte [esp + 0x9a], 0x30
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x7c], eax
cmp edx, 6
mov esi, ecx
je 0x589cc9
mov eax, 0xe
movzx edx, byte [esp + 0xbe]
cmp edx, 0x27
je 0x589065
mov dword [esp + 0xd0], ecx
cmp edx, 0x60
jne 0x589071
mov byte [esp + 0xbe], 0x60
jmp 0x58923b
mov dword [esp + 0xd0], ecx
jmp 0x58952b
mov esi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov ecx, 2
jmp 0x58937e
mov eax, 4
mov ecx, dword [esp + 0xfc]
inc ecx
mov edx, dword [esp + 0x11c]
cmp ecx, edx
jae 0x5890cc
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], edx
cmp eax, 4
jne 0x58965a
mov eax, 0x18
movzx ecx, byte [esp + 0x73]
cmp ecx, 3
jne 0x589748
mov byte [esp + 0x73], 3
jmp 0x5890ed
mov dword [esp + 0x6c], ecx
mov eax, 0x11
mov ecx, dword [edi + 4]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x68], edx
jmp 0x5898c0
mov byte [esp + 0x73], 0x6a
mov eax, dword [edi + 4]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xa8], eax
mov cl, byte [esp + 0x9a]
movsx eax, cl
cmp eax, 0x3a
jg 0x589137
movzx eax, cl
cmp eax, 0x1b
je 0x58919e
cmp eax, 0x30
jne 0x5891f0
mov byte [esp + 0x9a], 0x1b
jmp 0x5891a6
mov eax, 0x18
mov dl, cl
movzx ecx, dl
cmp ecx, 0x3b
je 0x5891e4
cmp ecx, 0x54
jne 0x5891f0
mov eax, 0xe
mov byte [esp + 0x9a], 0x70
mov esi, dword [esp + 0xa8]
lea ecx, [esi + esi*2]
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + ecx*4 + 8]
mov dword [esp + 0xb8], ecx
test ecx, ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0xfc], esi
jne 0x5897b4
jmp 0x589bae
mov byte [esp + 0x9a], 0x30
mov edx, dword [esp + 0xa8]
lea eax, [edx + edx*2]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4 + 8]
mov dword [esp + 0xb8], eax
test eax, eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x11c], eax
mov dword [esp + 0xfc], edx
jne 0x5897b4
jmp 0x589089
mov byte [esp + 0x9a], dl
jmp 0x58944f
mov eax, 2
mov byte [esp + 0x9a], 0x3b
mov esi, dword [esp + 0xa8]
lea ecx, [esi + esi*2]
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + ecx*4 + 8]
mov dword [esp + 0xb8], ecx
test ecx, ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0xfc], esi
jne 0x5897a4
jmp 0x589089
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.004936c0
mov dword [edi + 4], 0
jmp 0x5893b3
mov eax, 0x13
mov cl, 0x44
mov dword [esp + 0xa0], ecx
lea ecx, [edi + 0x14]
mov dword [esp + 0x10c], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0xb0], ecx
test ecx, ecx
je 0x589ed2
mov byte [esp + 0xdf], 0x67
mov byte [esp + 0xbd], 0x77
mov byte [esp + 0xe0], 0x31
mov byte [esp + 0x108], 0x21
lea eax, [edi + 0x10]
mov dword [esp + 0xb4], eax
mov esi, dword [edi + 0x10]
xor ebx, ebx
test esi, esi
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], 0
je 0x58961f
movzx eax, byte [esp + 0x108]
cmp eax, 0xc
jne 0x58931b
mov byte [esp + 0x108], 0x21
mov eax, ebx
shl eax, 4
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx + eax + 0xc]
mov dword [esp + 0xcc], eax
test eax, eax
je 0x589482
mov dword [esp + 0x110], edi
jmp 0x58934e
mov dword [esp + 0x110], edi
mov edi, 0xb
mov byte [esp + 0x108], 0xc
mov eax, ebx
shl eax, 4
mov edx, dword [esp + 0xe4]
mov eax, dword [edx + eax + 0xc]
mov dword [esp + 0xcc], eax
test eax, eax
je 0x589495
mov eax, 0xd
mov ecx, 6
movzx edx, byte [esp + 0xe0]
cmp edx, 0x31
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
mov edi, dword [esp + 0x110]
je 0x589a93
cmp ecx, 2
jne 0x58940f
mov byte [esp + 0xbe], 0x27
mov eax, dword [esp + 0x94]
mov dword [esp], eax
call fcn.004936c0
mov dword [edi + 4], 0
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], ebx
mov eax, dword [esp + 0xa0]
movzx ecx, al
cmp ecx, 0x40
je 0x5894b6
cmp ecx, 0x44
je 0x589256
mov eax, 9
cmp ecx, 0x57
jne 0x58944f
mov esi, 8
mov al, 0x57
mov dword [esp + 0xa0], eax
lea eax, [edi + 0x14]
mov dword [esp + 0x10c], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0xb0], eax
test eax, eax
mov edx, dword [esp + 0x124]
jne 0x589c32
jmp 0x5899a6
mov esi, 0xa
mov byte [esp + 0xe0], 0x34
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x10c]
mov eax, dword [eax]
mov ecx, ebx
shl ecx, 4
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0xb4]
mov eax, dword [eax]
jmp 0x589817
cmp eax, 9
jne 0x5894e5
mov al, 0x40
mov dword [esp + 0xa0], eax
lea eax, [edi + 0x14]
mov dword [esp + 0x10c], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0xb0], eax
test eax, eax
jne 0x589280
jmp 0x58965a
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
jmp 0x589577
mov edx, dword [esp + 0x124]
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], ebx
mov dword [esp + 0x118], ebx
jmp 0x589b3d
mov eax, 0xe
mov cl, 0x54
mov dword [esp + 0xa0], ecx
lea ecx, [edi + 0x14]
mov dword [esp + 0x10c], ecx
mov ecx, dword [edi + 0x14]
mov dword [esp + 0xb0], ecx
test ecx, ecx
jne 0x589280
jmp 0x5890a9
mov eax, 0xb
mov byte [esp + 0x9a], 0x54
mov esi, dword [esp + 0xa8]
lea ecx, [esi + esi*2]
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + ecx*4 + 8]
mov dword [esp + 0xb8], ecx
test ecx, ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0xfc], esi
jne 0x5897b4
cmp eax, 0xb
je 0x589089
mov byte [esp + 0xbe], 0x64
jmp 0x58923b
mov byte [esp + 0xe0], 0x31
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x10c]
mov eax, dword [eax]
mov ecx, ebx
shl ecx, 4
mov dword [eax + ecx + 0xc], 0
mov eax, dword [esp + 0xb4]
mov esi, dword [eax]
lea ecx, [ebx + 1]
cmp ecx, esi
jae 0x5895bb
mov dword [esp + 0x110], edi
mov edi, 7
movzx eax, byte [esp + 0xbd]
cmp eax, 0x61
jne 0x5895da
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x118], ebx
mov ebx, eax
mov dword [esp + 0x120], esi
mov dword [esp + 0x60], esi
jmp 0x589e60
mov dword [esp + 0x64], ecx
mov eax, 1
mov ecx, dword [esp + 0x10c]
mov ecx, dword [ecx]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x60], esi
jmp 0x589608
mov byte [esp + 0xbd], 0x61
mov eax, dword [esp + 0x10c]
mov eax, dword [eax]
mov dword [esp + 0xe4], eax
mov dword [esp + 0x60], esi
mov ebx, ecx
mov dword [esp + 0x64], ecx
mov edi, dword [esp + 0x110]
jmp 0x5892de
cmp eax, 1
mov dword [esp + 0x118], ebx
mov dword [esp + 0x120], esi
jne 0x589f32
movzx eax, byte [esp + 0xdf]
cmp eax, 0x2a
jne 0x589636
mov byte [esp + 0xdf], 0x2a
jmp 0x58963e
mov byte [esp + 0xdf], 0x67
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x10c]
mov dword [eax], 0
lea edx, [edi + 0xc]
mov ebx, dword [edi + 0xc]
test ebx, ebx
je 0x5896d7
mov al, 0x5b
movzx ecx, al
cmp ecx, 0x31
je 0x5896eb
mov dword [esp + 0x114], edx
mov byte [esp + 0xd8], 0x4c
mov eax, 8
cmp ecx, 0x79
jne 0x589741
mov esi, 7
mov byte [esp + 0xc8], 0xa
mov byte [esp + 0x8f], 0x2c
lea eax, [edi + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x100], 0
test eax, eax
mov dword [esp + 0xe8], ebx
mov dword [esp + 0x104], ebx
jne 0x58995b
jmp 0x589876
mov dword [esp + 0x114], edx
mov byte [esp + 0xd8], 0x4c
jmp 0x58989e
mov dword [esp + 0x114], edx
mov byte [esp + 0xd8], 0x4c
mov byte [esp + 0xc8], 0xa
mov byte [esp + 0x8f], 0x2c
lea eax, [edi + 8]
mov dword [esp + 0x5c], eax
mov eax, dword [edi + 8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x100], 0
test eax, eax
mov dword [esp + 0xe8], ebx
mov dword [esp + 0x104], ebx
jne 0x58995b
jmp 0x589c0f
mov dword [esp + 0x104], ebx
cmp eax, 8
jne 0x5890e8
mov esi, 0x13
mov eax, 8
mov byte [esp + 0xc8], 0xa
mov byte [esp + 0x8f], 0x2c
lea ecx, [edi + 8]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edi + 8]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x100], 0
test ecx, ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x124], ecx
mov dword [esp + 0xe8], ecx
je 0x589f04
cmp eax, 2
mov ebx, dword [esp + 0x124]
jne 0x58995b
movzx ecx, byte [esp + 0xbf]
cmp ecx, 8
je 0x589835
mov eax, 8
cmp ecx, 0x73
jne 0x58988b
mov esi, 7
mov byte [esp + 0xbf], 8
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0xfc]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4 + 8], 0
mov eax, dword [edi]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x118], ebx
mov dword [esp + 0x120], eax
cmp esi, 7
mov esi, eax
je 0x589089
jmp 0x589577
mov esi, 0x15
mov byte [esp + 0xbf], 0x73
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0xfc]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4 + 8], 0
mov eax, dword [edi]
mov dword [esp + 0x11c], eax
mov ebx, dword [esp + 0x124]
cmp esi, 7
mov dword [esp + 0x124], ebx
jne 0x589089
jmp 0x589c0f
mov dword [esp + 0x110], edi
mov ecx, dword [esp + 0x100]
jmp 0x589ae2
mov eax, 4
mov cl, byte [esp + 0xd8]
movzx ecx, cl
cmp ecx, 0x4c
jne 0x589913
mov dword [esp + 0x104], ebx
mov edx, dword [esp + 0x11c]
cmp eax, 4
jne 0x589900
mov eax, 0xa
mov byte [esp + 0xd8], 0x4c
lea ecx, [edi + 0x1c]
mov dword [esp + 0xf8], ecx
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x58], ecx
test ecx, ecx
je 0x58993c
mov dword [esp + 0x11c], edx
mov edx, 0xc
mov byte [esp + 0x110], 0x1c
jmp 0x589cf1
mov dword [esp + 0x11c], edx
mov ecx, dword [esp + 0xd0]
jmp 0x58903a
mov eax, 7
lea ecx, [edi + 0x1c]
mov dword [esp + 0xf8], ecx
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x58], ecx
test ecx, ecx
je 0x589948
mov byte [esp + 0xd8], 0x5b
mov dl, 0x1c
jmp 0x589d08
mov dword [esp + 0x11c], edx
jmp 0x589d28
mov ebx, dword [esp + 0x118]
mov esi, dword [esp + 0x120]
jmp 0x589608
mov edx, ebx
mov ebx, edi
mov esi, 0xa
mov ecx, dword [esp + 0x100]
lea edi, [ecx + ecx*2]
mov eax, dword [edx + edi*4 + 8]
test eax, eax
je 0x58998f
mov esi, edx
movzx ecx, byte [esp + 0x8f]
cmp ecx, 0x2c
jne 0x5899ba
mov byte [esp + 0x8f], 0x2c
jmp 0x5899c2
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc0], eax
mov dword [esp + 0x90], ecx
mov edi, ebx
mov dword [esp + 0x124], edx
cmp esi, 8
mov ebx, edx
je 0x58965a
jmp 0x5899fa
mov byte [esp + 0x8f], 0x51
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x114]
mov eax, dword [eax]
mov dword [eax + edi*4 + 8], 0
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x90], eax
mov edi, ebx
mov ebx, esi
movzx eax, byte [esp + 0xc8]
cmp eax, 0xa
jne 0x589a48
mov cl, 0x1a
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x80], eax
mov edx, dword [esp + 0xc0]
cmp eax, edx
jae 0x589b7a
mov byte [esp + 0xc8], 0x1f
mov dword [esp + 0x110], edi
mov esi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov ecx, edx
jmp 0x589aaa
mov byte [esp + 0xc8], 0xa
mov cl, 0x1a
mov edx, dword [esp + 0x90]
lea esi, [edx + 1]
mov dword [esp + 0x80], esi
mov edx, dword [esp + 0xc0]
cmp esi, edx
jae 0x589b82
mov dword [esp + 0x124], ebx
mov esi, dword [esp + 0x120]
mov ebx, dword [esp + 0x118]
mov dword [esp + 0x9c], edx
mov eax, 3
cmp eax, 3
jne 0x589541
mov dword [esp + 0x110], edi
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x9c], ecx
mov eax, 0x12
mov edx, dword [esp + 0x114]
mov edx, dword [edx]
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], esi
mov dword [esp + 0x118], ebx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x100], ecx
cmp eax, 8
jne 0x589b67
mov edi, 0x14
mov byte [esp + 0xbf], 0x67
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
call fcn.004936c0
mov edx, dword [esp + 0x110]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0xfc]
lea ecx, [ecx + ecx*2]
mov dword [eax + ecx*4 + 8], 0
mov eax, dword [edx]
mov dword [esp + 0x11c], eax
mov esi, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
mov dword [esp + 0x120], esi
cmp edi, 0xb
mov dword [esp + 0x124], edx
mov ebx, dword [esp + 0x118]
mov edi, dword [esp + 0x110]
jne 0x589089
jmp 0x589577
mov edi, dword [esp + 0x110]
mov ebx, dword [esp + 0x124]
jmp 0x58995b
mov byte [esp + 0xc8], 0x1f
mov eax, 3
movzx ecx, cl
cmp ecx, 0x27
je 0x589bd0
mov eax, 0x1a
cmp ecx, 0x67
jne 0x589bf1
mov dword [esp + 0x9c], edx
mov dword [esp + 0xc0], edx
mov dword [esp + 0x124], ebx
cmp eax, 0xe
je 0x589089
mov eax, dword [esp + 0x114]
mov eax, dword [eax]
mov dword [esp + 0xe8], eax
mov ebx, dword [esp + 0x124]
jmp 0x589c0f
mov dword [esp + 0x9c], edx
mov dword [esp + 0xc0], edx
mov esi, dword [esp + 0xf0]
mov edx, dword [esp + 0xec]
jmp 0x589e95
mov eax, dword [esp + 0x114]
mov eax, dword [eax]
mov dword [esp + 0xe8], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xc0], edx
mov esi, 0xd
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0x114]
mov dword [eax], 0
mov edx, ebx
mov dword [esp + 0x124], edx
cmp esi, 8
mov ebx, dword [esp + 0x104]
je 0x589280
jmp 0x58989e
mov dl, 0x3b
mov byte [esp + 0xf4], 0x54
lea eax, [edi + 0x18]
mov dword [esp + 0x84], eax
mov eax, dword [edi + 0x18]
test eax, eax
je 0x589e04
mov byte [esp + 0x9b], 0x3b
mov byte [esp + 0x110], 0x1c
xor esi, esi
mov edx, dword [esp + 0x58]
mov ecx, edx
mov dword [esp + 0xc4], edx
jmp 0x589d7f
mov byte [esp + 0xf4], 0x54
lea edx, [esi + esi*2]
mov ecx, dword [ecx + edx*4 + 8]
test ecx, ecx
je 0x589cc9
mov dword [esp], ecx
call fcn.004936c0
mov eax, dword [esp + 0xf8]
mov eax, dword [eax]
lea ecx, [esi + esi*2]
mov dword [eax + ecx*4 + 8], 0
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
mov edx, 0x16
mov ecx, 5
mov ebx, edi
lea edi, [esi + 1]
mov dword [esp + 0x78], edi
cmp edi, eax
mov edi, ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0xd0], esi
mov dword [esp + 0x74], eax
jb 0x589d65
cmp edx, 0xc
jne 0x589deb
mov ebx, dword [esp + 0x104]
mov dl, byte [esp + 0x110]
mov byte [esp + 0x110], dl
mov eax, 0x12
mov ecx, 6
movzx edx, dl
cmp edx, 0x1c
mov dword [esp + 0x104], ebx
jne 0x589d65
cmp eax, 0xa
je 0x589f32
mov dl, 0x3b
mov byte [esp + 0xf4], 0x54
lea eax, [edi + 0x18]
mov dword [esp + 0x84], eax
mov eax, dword [edi + 0x18]
test eax, eax
je 0x589e04
mov byte [esp + 0x9b], 0x3b
mov byte [esp + 0x110], 0x5a
jmp 0x589c7d
cmp ecx, 5
jne 0x589c4e
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
movzx edx, byte [esp + 0xf4]
cmp edx, 6
je 0x589c91
mov dword [esp + 0x50], esi
mov esi, 0x12
mov ebx, edi
mov dl, byte [esp + 0x8f]
mov dh, byte [esp + 0xdf]
mov byte [esp + 0xdf], dh
mov byte [esp + 0x8f], dl
cmp esi, 8
mov edi, ebx
je 0x588fbb
mov ebx, edi
mov edx, 6
mov byte [esp + 0xf4], 6
mov esi, dword [esp + 0x50]
lea edi, [esi + esi*2]
mov ecx, dword [ecx + edi*4 + 8]
test ecx, ecx
je 0x589f3c
mov edi, ebx
jmp 0x589ca4
mov eax, dword [esp + 0xf8]
mov eax, dword [eax]
mov dword [esp + 0xc4], eax
mov dl, byte [esp + 0x9b]
jmp 0x589e0f
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc4], eax
mov eax, 9
movzx ecx, dl
cmp ecx, 0x11
je 0x589ecb
cmp ecx, 0x21
jne 0x589f16
mov dword [esp + 0x110], edi
mov edi, 0x12
mov byte [esp + 0x9b], 0x21
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0xf8]
mov dword [eax], 0
mov ebx, dword [esp + 0x124]
cmp edi, 7
mov edi, dword [esp + 0x110]
jne 0x589f32
mov eax, 0x13
mov byte [esp + 0xbd], 0x77
mov ecx, dword [esp + 0x10c]
mov ecx, dword [ecx]
mov dword [esp + 0xe4], ecx
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
cmp eax, 3
jne 0x589ebd
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], esi
mov eax, dword [esp + 0x114]
mov eax, dword [eax]
mov dword [esp + 0xe8], eax
jmp 0x589c0f
mov dword [esp + 0x124], ebx
mov ebx, edx
jmp 0x5892de
mov byte [esp + 0x9b], dl
cmp eax, 9
jne 0x58965a
mov esi, 0xf
mov byte [esp + 0x9b], 0x3b
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0xf8]
mov dword [eax], 0
cmp esi, 0xf
mov ebx, dword [esp + 0x124]
jne 0x589c0f
jmp 0x589f32
mov eax, dword [esp + 0xc4]
mov dword [esp], eax
call fcn.004936c0
mov eax, dword [esp + 0xf8]
mov dword [eax], 0
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
mov edi, ebx
jmp 0x58902b