Function at 0x5a1040
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x6cdc5c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2e4
push ebx
push ebp
push esi
push edi
mov esi, ecx
xor ebx, ebx
lea ecx, [esp + 0x38]
mov dword [esp + 0x2fc], ebx
xor ebp, ebp
call fcn.0061e190
lea ecx, [esp + 0x88]
mov byte [esp + 0x2fc], 1
call fcn.0061aaa0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2fc], 2
call fcn.0061d780
push 0x6c
push 0xf1
push 0x60
lea ecx, [esp + 0x1d4]
mov byte [esp + 0x308], 3
call fcn.00555f00
push 0x6c
push 0xf1
push 0x58
lea ecx, [esp + 0x1f8]
mov byte [esp + 0x308], 4
call fcn.00555f00
mov al, byte [esp + 0x13]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x18], al
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
push 6
push 0x71c1fc
lea ecx, [esp + 0x3c]
mov byte [esp + 0x304], 6
call fcn.0061d820
mov al, 0x7f
mov dl, 0xfc
mov byte [esp + 0xb1], al
mov byte [esp + 0xb2], al
mov byte [esp + 0xb3], al
mov byte [esp + 0xb4], al
mov byte [esp + 0xbb], al
mov byte [esp + 0xbd], al
xor eax, eax
mov byte [esp + 0xaf], dl
mov dword [esp + 0xc3], eax
mov byte [esp + 0xb0], dl
mov byte [esp + 0xb9], dl
mov word [esp + 0xc7], ax
mov cl, 0xae
mov dl, 0x3c
mov byte [esp + 0xc9], al
mov byte [esp + 0x2fc], 7
mov byte [esp + 0xac], 8
mov byte [esp + 0xad], cl
mov byte [esp + 0xae], 0x90
mov byte [esp + 0xb5], bl
mov byte [esp + 0xb6], 8
mov byte [esp + 0xb7], cl
mov byte [esp + 0xb8], 0x90
mov byte [esp + 0xba], bl
mov byte [esp + 0xbc], bl
mov byte [esp + 0xbe], bl
mov byte [esp + 0xbf], bl
mov byte [esp + 0xc0], 2
mov byte [esp + 0xc1], dl
mov byte [esp + 0xc2], 8
mov byte [esp + 0xca], 8
mov byte [esp + 0xcb], cl
mov al, 0x80
mov byte [esp + 0xdf], dl
xor edx, edx
mov dword [esp + 0xe1], edx
mov byte [esp + 0xcc], al
mov word [esp + 0xe5], dx
mov byte [esp + 0xcd], 0x10
mov byte [esp + 0xe7], dl
mov dword [esp + 0xff], edx
mov word [esp + 0x103], dx
mov byte [esp + 0xce], bl
mov byte [esp + 0x105], dl
mov dword [esp + 0x11d], edx
mov word [esp + 0x121], dx
mov byte [esp + 0xcf], 0xff
mov byte [esp + 0xd0], bl
mov byte [esp + 0xd1], bl
mov byte [esp + 0xd2], bl
mov byte [esp + 0xd3], bl
mov byte [esp + 0xd4], 8
mov byte [esp + 0xd5], cl
mov byte [esp + 0xd6], al
mov byte [esp + 0xd7], 0x10
mov byte [esp + 0xd8], bl
mov byte [esp + 0xd9], bl
mov byte [esp + 0xda], bl
mov byte [esp + 0xdb], bl
mov byte [esp + 0xdc], bl
mov byte [esp + 0xdd], bl
mov byte [esp + 0xde], 2
mov byte [esp + 0xe0], 8
mov byte [esp + 0xe8], 8
mov byte [esp + 0xe9], cl
mov byte [esp + 0xea], al
mov byte [esp + 0xeb], 0x20
mov byte [esp + 0xec], bl
mov byte [esp + 0xed], 0xff
mov byte [esp + 0xee], bl
mov byte [esp + 0xef], bl
mov byte [esp + 0xf0], bl
mov byte [esp + 0xf1], bl
mov byte [esp + 0xf2], 8
mov byte [esp + 0xf3], cl
mov byte [esp + 0xf4], al
mov byte [esp + 0xf5], 0x20
mov byte [esp + 0xf6], bl
mov byte [esp + 0xf7], bl
mov byte [esp + 0xf8], bl
mov byte [esp + 0xf9], bl
mov byte [esp + 0xfa], bl
mov byte [esp + 0xfb], bl
mov byte [esp + 0xfc], 2
mov byte [esp + 0xfd], 0x3c
mov byte [esp + 0xfe], 8
mov byte [esp + 0x106], 8
mov byte [esp + 0x107], cl
mov byte [esp + 0x108], al
mov byte [esp + 0x109], 8
mov byte [esp + 0x10a], bl
mov byte [esp + 0x10b], 0xff
mov byte [esp + 0x10c], bl
mov byte [esp + 0x10d], bl
mov byte [esp + 0x10e], bl
mov byte [esp + 0x10f], bl
mov byte [esp + 0x110], 8
mov byte [esp + 0x111], cl
mov byte [esp + 0x112], al
mov byte [esp + 0x113], 8
mov byte [esp + 0x114], bl
mov byte [esp + 0x115], bl
mov byte [esp + 0x116], bl
mov byte [esp + 0x117], bl
mov byte [esp + 0x118], bl
mov byte [esp + 0x119], bl
mov byte [esp + 0x11a], 2
mov byte [esp + 0x11b], 0x3c
mov byte [esp + 0x11c], 8
mov byte [esp + 0x123], dl
mov byte [esp + 0x124], 8
mov byte [esp + 0x125], cl
mov byte [esp + 0x126], al
mov byte [esp + 0x127], al
mov dword [esp + 0x13b], edx
mov byte [esp + 0x130], al
mov word [esp + 0x13f], dx
mov byte [esp + 0x131], al
mov byte [esp + 0x141], dl
mov dl, 0x40
mov byte [esp + 0x145], dl
mov byte [esp + 0x14f], dl
mov byte [esp + 0x144], al
mov byte [esp + 0x14e], al
xor edx, edx
mov byte [esp + 0x162], al
mov byte [esp + 0x16c], al
xor eax, eax
mov dword [esp + 0x159], edx
mov dword [esp + 0x177], eax
mov byte [esp + 0x12f], cl
mov byte [esp + 0x143], cl
mov byte [esp + 0x14d], cl
mov byte [esp + 0x161], cl
mov byte [esp + 0x16b], cl
mov word [esp + 0x15d], dx
mov cl, 0x3c
mov word [esp + 0x17b], ax
mov byte [esp + 0x128], 0xff
mov byte [esp + 0x129], bl
mov byte [esp + 0x12a], bl
mov byte [esp + 0x12b], bl
mov byte [esp + 0x12c], bl
mov byte [esp + 0x12d], bl
mov byte [esp + 0x12e], 8
mov byte [esp + 0x132], bl
mov byte [esp + 0x133], bl
mov byte [esp + 0x134], bl
mov byte [esp + 0x135], bl
mov byte [esp + 0x136], bl
mov byte [esp + 0x137], bl
mov byte [esp + 0x138], 2
mov byte [esp + 0x139], 0x3c
mov byte [esp + 0x13a], 8
mov byte [esp + 0x142], 8
mov byte [esp + 0x146], 0xff
mov byte [esp + 0x147], bl
mov byte [esp + 0x148], bl
mov byte [esp + 0x149], bl
mov byte [esp + 0x14a], bl
mov byte [esp + 0x14b], bl
mov byte [esp + 0x14c], 8
mov byte [esp + 0x150], bl
mov byte [esp + 0x151], bl
mov byte [esp + 0x152], bl
mov byte [esp + 0x153], bl
mov byte [esp + 0x154], bl
mov byte [esp + 0x155], bl
mov byte [esp + 0x156], 2
mov byte [esp + 0x157], 0x3c
mov byte [esp + 0x158], 8
mov byte [esp + 0x15f], dl
mov byte [esp + 0x160], 8
mov byte [esp + 0x163], 4
mov byte [esp + 0x164], 0xff
mov byte [esp + 0x165], bl
mov byte [esp + 0x166], bl
mov byte [esp + 0x167], bl
mov byte [esp + 0x168], bl
mov byte [esp + 0x169], bl
mov byte [esp + 0x16a], 8
mov byte [esp + 0x16d], 4
mov byte [esp + 0x16e], bl
mov byte [esp + 0x16f], bl
mov byte [esp + 0x170], bl
mov byte [esp + 0x171], bl
mov byte [esp + 0x172], bl
mov byte [esp + 0x173], bl
mov byte [esp + 0x174], 2
mov byte [esp + 0x175], cl
mov byte [esp + 0x176], 8
mov byte [esp + 0x17d], al
mov byte [esp + 0x180], 2
mov byte [esp + 0x181], cl
mov byte [esp + 0x182], 8
mov dword [esp + 0x183], edx
mov word [esp + 0x191], ax
mov word [esp + 0x187], dx
mov byte [esp + 0x193], al
mov byte [esp + 0x189], dl
mov dword [esp + 0x199], edx
mov byte [esp + 0x19d], dl
mov dword [esp + 0x1a3], edx
mov byte [esp + 0x1a7], dl
mov dword [esp + 0x1ad], edx
mov byte [esp + 0x1b1], dl
mov al, 0x3b
mov dword [esp + 0x1b7], edx
mov byte [esp + 0x195], al
mov byte [esp + 0x1bb], dl
mov byte [esp + 0x69], al
mov byte [esp + 0x70], al
mov byte [esp + 0x77], al
mov eax, dword [esi]
mov dword [esp + 0x1c1], edx
mov byte [esp + 0x5d], cl
mov byte [esp + 0x60], cl
mov byte [esp + 0x63], cl
mov ecx, esi
mov byte [esp + 0x18a], 6
mov byte [esp + 0x18b], 0x2a
mov byte [esp + 0x18c], 0x13
mov byte [esp + 0x18d], 6
mov byte [esp + 0x18e], 0xff
mov byte [esp + 0x18f], 0xff
mov byte [esp + 0x190], 0xff
mov byte [esp + 0x194], 4
mov byte [esp + 0x196], 0x15
mov byte [esp + 0x197], bl
mov byte [esp + 0x198], bl
mov byte [esp + 0x19e], 4
mov byte [esp + 0x19f], 0x19
mov byte [esp + 0x1a0], 0x12
mov byte [esp + 0x1a1], 0xff
mov byte [esp + 0x1a2], bl
mov byte [esp + 0x1a8], 4
mov byte [esp + 0x1a9], 0x19
mov byte [esp + 0x1aa], 0x13
mov byte [esp + 0x1ab], 0xff
mov byte [esp + 0x1ac], 0xc0
mov byte [esp + 0x1b2], 4
mov byte [esp + 0x1b3], 0x19
mov byte [esp + 0x1b4], 0x12
mov byte [esp + 0x1b5], 0xff
mov byte [esp + 0x1b6], bl
mov byte [esp + 0x1bc], 4
mov byte [esp + 0x1bd], 0x19
mov byte [esp + 0x1be], 0x12
mov byte [esp + 0x1bf], 0x41
mov byte [esp + 0x1c0], bl
mov byte [esp + 0x1c5], dl
mov byte [esp + 0x5c], 2
mov byte [esp + 0x5e], 0x1a
mov byte [esp + 0x5f], 2
mov byte [esp + 0x61], 0x1b
mov byte [esp + 0x62], 2
mov byte [esp + 0x64], 0x1c
mov byte [esp + 0x68], 6
mov byte [esp + 0x6a], 0x1a
mov byte [esp + 0x6b], 0x39
mov byte [esp + 0x6c], 0x30
mov byte [esp + 0x6d], 0x59
mov byte [esp + 0x6e], 0x5a
mov byte [esp + 0x6f], 6
mov byte [esp + 0x71], 0x1b
mov byte [esp + 0x72], 0x35
mov byte [esp + 0x73], 0x36
mov byte [esp + 0x74], 0x37
mov byte [esp + 0x75], 0x38
mov byte [esp + 0x76], 6
mov byte [esp + 0x78], 0x1c
mov byte [esp + 0x79], 0x31
mov byte [esp + 0x7a], 0x32
mov byte [esp + 0x7b], 0x33
mov byte [esp + 0x7c], 0x34
call dword [eax + 0x18]
test ax, ax
jne 0x5a1932
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a18a3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a189a
cmp al, 0xff
je 0x5a189a
dec al
mov byte [ecx], al
jmp 0x5a18a3
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x2fc], 4
call fcn.00555f30
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2fc], 3
call fcn.00555f30
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2fc], 2
call fcn.0061d8c0
lea ecx, [esp + 0x88]
mov byte [esp + 0x2fc], 1
call fcn.0061ab90
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x5a1921
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1918
cmp al, 0xff
je 0x5a1918
dec al
mov byte [ecx], al
jmp 0x5a1921
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
jmp 0x5a3709
push 5
lea ecx, [esp + 0x308]
call fcn.0061daa0
push ecx
mov byte [esp + 0x34], al
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713764
call fcn.0061d820
lea ecx, [esp + 0x210]
push ecx
call fcn.0061ca80
add esp, 8
mov edx, dword [0x6dd1fc]
lea ecx, [esp + 0x18]
push edx
push ebx
push eax
mov byte [esp + 0x308], 8
call fcn.004136c0
mov eax, dword [esp + 0x210]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a19b1
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a19a8
cmp al, 0xff
je 0x5a19a8
dec al
mov byte [ecx], al
jmp 0x5a19b1
push ecx
call fcn.006a64d0
add esp, 4
mov eax, dword [esp + 0x30]
and eax, 0xff
add eax, 0xffffff8d
cmp eax, 8
ja case.default.0x5a19c6
jmp dword [eax*4 + 0x5a3728]
mov al, byte [esp + 0x30]
mov byte [esp + 0x13], bl
sub al, 0x73
mov byte [esp + 0x30], al
mov esi, dword [esp + 0x30]
push ecx
lea edx, [esp + 0x308]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
cmp bp, bx
je 0x5a1e11
cmp byte [0x72bd0c], bl
je 0x5a1be6
cmp bp, 1
jne 0x5a1aa8
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713784
call fcn.0061d820
lea eax, [esp + 0x260]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x2fc], 9
push ecx
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x260]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a1a8a
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1a81
cmp al, 0xff
je 0x5a1a81
dec al
mov byte [ecx], al
jmp 0x5a1a8a
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x260], ebx
mov dword [esp + 0x264], ebx
mov dword [esp + 0x268], ebx
mov byte [esp + 0x13], bl
jmp 0x5a1e0f
cmp bp, 2
jne 0x5a1b3d
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x71377c
call fcn.0061d820
lea edx, [esp + 0x230]
push edx
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x2fc], 0xa
push ecx
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x230]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a1b1f
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1b16
cmp al, 0xff
je 0x5a1b16
dec al
mov byte [ecx], al
jmp 0x5a1b1f
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x230], ebx
mov dword [esp + 0x234], ebx
mov dword [esp + 0x238], ebx
mov byte [esp + 0x13], bl
jmp 0x5a1e0f
cmp bp, 3
jne 0x5a1e0f
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713764
call fcn.0061d820
lea edx, [esp + 0x220]
push edx
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x2fc], 0xb
push ecx
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x220]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a1bcc
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1bc3
cmp al, 0xff
je 0x5a1bc3
dec al
mov byte [ecx], al
mov dword [esp + 0x220], ebx
mov dword [esp + 0x224], ebx
mov dword [esp + 0x228], ebx
jmp 0x5a1e0a
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x220], ebx
mov dword [esp + 0x224], ebx
mov dword [esp + 0x228], ebx
jmp 0x5a1e0a
mov eax, esi
sub esp, 0x24
and eax, 0xff
mov edx, esp
movsx ecx, bp
lea eax, [eax + eax*2]
mov dword [esp + 0x38], esp
add eax, ecx
push ebx
push 1
lea eax, [eax + eax*4]
lea ecx, [esp + eax*2 + 0xce]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x8c]
mov edx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
lea ecx, [esp + 0x2c]
call fcn.0061dc40
test ax, ax
jle 0x5a1f0e
cmp bp, 1
jne 0x5a1ce9
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713784
call fcn.0061d820
lea eax, [esp + 0x280]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x2fc], 0xc
push ecx
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x280]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a1ccb
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1cc2
cmp al, 0xff
je 0x5a1cc2
dec al
mov byte [ecx], al
jmp 0x5a1ccb
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x280], ebx
mov dword [esp + 0x284], ebx
mov dword [esp + 0x288], ebx
mov byte [esp + 0x13], bl
jmp 0x5a1e0f
cmp bp, 2
jne 0x5a1d7e
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x71377c
call fcn.0061d820
lea edx, [esp + 0x2a0]
push edx
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x2fc], 0xd
push ecx
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x2a0]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a1d60
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1d57
cmp al, 0xff
je 0x5a1d57
dec al
mov byte [ecx], al
jmp 0x5a1d60
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x2a4], ebx
mov dword [esp + 0x2a8], ebx
mov byte [esp + 0x13], bl
jmp 0x5a1e0f
cmp bp, 3
jne 0x5a1e0f
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713764
call fcn.0061d820
lea edx, [esp + 0x2c0]
push edx
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x2fc], 0xe
push ecx
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x2c0]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a1df5
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1dec
cmp al, 0xff
je 0x5a1dec
dec al
mov byte [ecx], al
jmp 0x5a1df5
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2c4], ebx
mov dword [esp + 0x2c8], ebx
mov byte [esp + 0x13], 1
xor ebp, ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x713784
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x71377c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
mov dl, byte [esp + 0x18]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x24], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x6dd1fc]
lea edx, [esp + 0x28]
push eax
push ebx
push edx
call fcn.004136c0
push ecx
mov byte [esp + 0x310], 0x10
mov ecx, esp
mov dword [esp + 0x44], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x310], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x5a1f04
dec eax
je 0x5a1efa
dec eax
jne 0x5a19df
mov al, byte [esp + 0x13]
mov ebp, 3
cmp al, bl
jne 0x5a1f8d
jmp 0x5a19df
mov ebp, 2
jmp 0x5a19df
mov ebp, 1
jmp 0x5a19df
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0xf
mov ecx, esp
mov dword [esp + 0x40], esp
push 6
push 0x713840
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a2f50
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a2f47
cmp al, 0xff
je 0x5a2f47
dec al
mov byte [ecx], al
jmp 0x5a2f50
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a1fc3
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1fba
cmp al, 0xff
je 0x5a1fba
dec al
mov byte [ecx], al
jmp 0x5a1fc3
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x2fc], 4
call fcn.00555f30
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2fc], 3
call fcn.00555f30
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2fc], 2
call fcn.0061d8c0
lea ecx, [esp + 0x88]
mov byte [esp + 0x2fc], 1
call fcn.0061ab90
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x5a28b4
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a28ab
cmp al, 0xff
je 0x5a28ab
dec al
mov byte [ecx], al
jmp 0x5a28b4
mov al, byte [esp + 0x30]
mov byte [esp + 0x13], bl
sub al, 0x73
mov byte [esp + 0x30], al
push ecx
lea eax, [esp + 0x308]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
cmp bp, bx
je 0x5a2684
cmp byte [0x72bd0c], bl
je 0x5a225c
cmp bp, 1
jne 0x5a211e
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x71c2ec
call fcn.0061d820
lea ecx, [esp + 0x270]
push ecx
call fcn.0061ca80
add esp, 8
mov edx, dword [0x6dd1fc]
lea ecx, [esp + 0x18]
push edx
push ebx
push eax
mov byte [esp + 0x308], 0x11
call fcn.004136c0
mov eax, dword [esp + 0x270]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a2100
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a20f7
cmp al, 0xff
je 0x5a20f7
dec al
mov byte [ecx], al
jmp 0x5a2100
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x270], ebx
mov dword [esp + 0x274], ebx
mov dword [esp + 0x278], ebx
mov byte [esp + 0x13], bl
jmp 0x5a2682
cmp bp, 2
jne 0x5a21b3
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x71c2e4
call fcn.0061d820
lea eax, [esp + 0x2b0]
push eax
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x2fc], 0x12
push ecx
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x2b0]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a2195
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a218c
cmp al, 0xff
je 0x5a218c
dec al
mov byte [ecx], al
jmp 0x5a2195
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x2b4], ebx
mov dword [esp + 0x2b8], ebx
mov byte [esp + 0x13], bl
jmp 0x5a2682
cmp bp, 3
jne 0x5a2682
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713764
call fcn.0061d820
lea edx, [esp + 0x240]
push edx
call fcn.0061ca80
add esp, 8
mov ecx, dword [0x6dd1fc]
mov byte [esp + 0x2fc], 0x13
push ecx
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.004136c0
mov eax, dword [esp + 0x240]
mov byte [esp + 0x2fc], 7
cmp eax, ebx
je 0x5a2242
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a2239
cmp al, 0xff
je 0x5a2239
dec al
mov byte [ecx], al
mov dword [esp + 0x240], ebx
mov dword [esp + 0x244], ebx
mov dword [esp + 0x248], ebx
jmp 0x5a267d
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x240], ebx
mov dword [esp + 0x244], ebx
mov dword [esp + 0x248], ebx
jmp 0x5a267d
mov eax, dword [esp + 0x30]
sub esp, 0x24
and eax, 0xff
mov edx, esp
movsx ecx, bp
lea eax, [eax + eax*2]
mov dword [esp + 0x38], esp
add eax, ecx
push ebx
push 1
lea eax, [eax + eax*4]
lea ecx, [esp + eax*2 + 0xce]
push ecx
push edx
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x8c]
mov edx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
lea ecx, [esp + 0x2c]
call fcn.0061dc40
test ax, ax
jle 0x5a2781
cmp bp, 1
jne 0x5a240a
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x71c2ec
call fcn.0061d820
lea eax, [esp + 0x250]
push eax
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x2fc], 0x14
cmp ecx, ebp
jae 0x5a2314
mov ebp, ecx
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5a2337
push ecx
push ebp
lea ecx, [esp + 0x20]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x5a23be
cmp ebp, ebx
jbe 0x5a2384
cmp ebp, eax
jne 0x5a2384
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5a234b
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5a2384
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5a2368
mov eax, 0x6dd1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5a23be
push 1
push ebp
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5a23be
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x5a23a0
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00414210
mov ecx, dword [esp + 0x250]
mov byte [esp + 0x2fc], 7
cmp ecx, ebx
je 0x5a23ec
mov al, byte [ecx - 1]
dec ecx
cmp al, bl
je 0x5a23e3
cmp al, 0xff
je 0x5a23e3
dec al
mov byte [ecx], al
jmp 0x5a23ec
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x250], ebx
mov dword [esp + 0x254], ebx
mov dword [esp + 0x258], ebx
mov byte [esp + 0x13], bl
jmp 0x5a2682
cmp bp, 2
jne 0x5a2548
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x71c2e4
call fcn.0061d820
lea ecx, [esp + 0x290]
push ecx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x2fc], 0x15
cmp ecx, ebp
jae 0x5a2452
mov ebp, ecx
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5a2475
push ecx
push ebp
lea ecx, [esp + 0x20]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x5a24fc
cmp ebp, ebx
jbe 0x5a24c2
cmp ebp, eax
jne 0x5a24c2
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5a2489
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5a24c2
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5a24a6
mov eax, 0x6dd1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5a24fc
push 1
push ebp
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5a24fc
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x5a24de
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00414210
mov ecx, dword [esp + 0x290]
mov byte [esp + 0x2fc], 7
cmp ecx, ebx
je 0x5a252a
mov al, byte [ecx - 1]
dec ecx
cmp al, bl
je 0x5a2521
cmp al, 0xff
je 0x5a2521
dec al
mov byte [ecx], al
jmp 0x5a252a
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x290], ebx
mov dword [esp + 0x294], ebx
mov dword [esp + 0x298], ebx
mov byte [esp + 0x13], bl
jmp 0x5a2682
cmp bp, 3
jne 0x5a2682
push ecx
mov ecx, esp
mov dword [esp + 0x18], esp
push 6
push 0x713764
call fcn.0061d820
lea ecx, [esp + 0x210]
push ecx
call fcn.0061ca80
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov ecx, dword [0x6dd1fc]
mov ebp, eax
mov byte [esp + 0x2fc], 0x16
cmp ecx, ebp
jae 0x5a2590
mov ebp, ecx
lea edx, [esp + 0x18]
cmp edx, esi
jne 0x5a25b3
push ecx
push ebp
lea ecx, [esp + 0x20]
call fcn.004140f0
push ebx
push ebx
lea ecx, [esp + 0x20]
call fcn.004140f0
jmp 0x5a263a
cmp ebp, ebx
jbe 0x5a2600
cmp ebp, eax
jne 0x5a2600
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5a25c7
mov eax, 0x6dd1f8
cmp byte [eax - 1], 0xfe
jae 0x5a2600
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x5a25e4
mov eax, 0x6dd1f8
mov dword [esp + 0x1c], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x20], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x24], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x5a263a
push 1
push ebp
lea ecx, [esp + 0x20]
call fcn.00414230
test al, al
je 0x5a263a
mov esi, dword [esi + 4]
cmp esi, ebx
jne 0x5a261c
mov esi, 0x6dd1f8
mov edi, dword [esp + 0x1c]
mov ecx, ebp
mov eax, ecx
push ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1c]
call fcn.00414210
mov ecx, dword [esp + 0x210]
mov byte [esp + 0x2fc], 7
cmp ecx, ebx
je 0x5a2668
mov al, byte [ecx - 1]
dec ecx
cmp al, bl
je 0x5a265f
cmp al, 0xff
je 0x5a265f
dec al
mov byte [ecx], al
jmp 0x5a2668
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x210], ebx
mov dword [esp + 0x214], ebx
mov dword [esp + 0x218], ebx
mov byte [esp + 0x13], 1
xor ebp, ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x71c2ec
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x71c2e4
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
mov dl, byte [esp + 0x18]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x24], esp
mov byte [ecx], dl
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
mov dword [ecx + 0xc], ebx
mov eax, dword [0x6dd1fc]
lea edx, [esp + 0x28]
push eax
push ebx
push edx
call fcn.004136c0
push ecx
mov byte [esp + 0x310], 0x18
mov ecx, esp
mov dword [esp + 0x3c], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x310], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x5a2777
dec eax
je 0x5a276d
dec eax
jne 0x5a2055
mov al, byte [esp + 0x13]
mov ebp, 3
cmp al, bl
jne 0x5a2800
jmp 0x5a2055
mov ebp, 2
jmp 0x5a2055
mov ebp, 1
jmp 0x5a2055
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x17
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x713840
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a2f50
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a2f47
cmp al, 0xff
je 0x5a2f47
dec al
mov byte [ecx], al
jmp 0x5a2f50
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a2836
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a282d
cmp al, 0xff
je 0x5a282d
dec al
mov byte [ecx], al
jmp 0x5a2836
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x2fc], 4
call fcn.00555f30
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2fc], 3
call fcn.00555f30
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2fc], 2
call fcn.0061d8c0
lea ecx, [esp + 0x88]
mov byte [esp + 0x2fc], 1
call fcn.0061ab90
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x5a28b4
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a28ab
cmp al, 0xff
je 0x5a28ab
dec al
mov byte [ecx], al
jmp 0x5a28b4
push ecx
call fcn.006a64d0
add esp, 4
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
jmp 0x5a2ba9
push ebx
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x19
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x720378
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
cmp al, 4
jne 0x5a2948
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a2f50
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a2f47
cmp al, 0xff
je 0x5a2f47
dec al
mov byte [ecx], al
jmp 0x5a2f50
push ebx
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x1a
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x720370
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
cmp byte [0x72bd0c], bl
je 0x5a29a4
push 0x3e8
call fcn.0041afd0
add esp, 4
jmp 0x5a2ae7
sub esp, 0x24
lea ecx, [esp + 0x1ae]
mov eax, esp
mov dword [esp + 0x4c], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x220]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
lea ecx, [esp + 0x88]
call fcn.0061b070
test ax, ax
jne 0x5a2a25
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x1b
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71e54c
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
push ecx
lea ecx, [esp + 0x8c]
mov edx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
push 7
lea ecx, [esp + 0x30]
call fcn.0061daa0
push 8
lea ecx, [esp + 0x30]
mov byte [esp + 0x19b], al
call fcn.0061daa0
sub esp, 0x24
mov byte [esp + 0x1bc], al
mov eax, esp
mov dword [esp + 0x4c], esp
push ebx
lea ecx, [esp + 0x1bc]
push 1
push ecx
push eax
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
lea ecx, [esp + 0x88]
call fcn.0061b070
test ax, ax
jne 0x5a2ae7
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x1c
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71e54c
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x1d
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x720368
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2fc], 5
call fcn.00419a10
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x2fc], 4
call fcn.00555f30
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2fc], 3
call fcn.00555f30
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2fc], 2
call fcn.0061d8c0
lea ecx, [esp + 0x88]
mov byte [esp + 0x2fc], 1
call fcn.0061ab90
lea ecx, [esp + 0x38]
mov byte [esp + 0x2fc], bl
call fcn.0066b860
lea ecx, [esp + 0x304]
mov dword [esp + 0x2fc], 0xffffffff
call fcn.0061d8c0
mov ax, 1
mov ecx, dword [esp + 0x2f4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x2f0
ret 4
cmp byte [0x72bd0c], bl
je 0x5a2c90
mov edi, str.52U29S021243
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], esi
call fcn.00414a50
cmp eax, esi
jae 0x5a2c12
call fcn.006a64db
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x5a2c2e
mov al, byte [edi - 1]
cmp al, bl
je 0x5a2c2e
cmp al, 0xff
je 0x5a2c2e
cmp esi, ebx
jne 0x5a2c5a
jmp 0x5a3032
cmp esi, ebx
jne 0x5a2c42
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp 0x5a309d
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x5a2c4f
cmp eax, esi
jae 0x5a2c68
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
push esi
lea ecx, [esp + 0x1c]
call fcn.00414a60
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov esi, str.52U29S021243
mov ecx, eax
push 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]
lea ecx, [esp + 0x1c]
call fcn.00414210
jmp 0x5a309d
sub esp, 0x24
lea ecx, [esp + 0x80]
mov eax, esp
mov dword [esp + 0x4c], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x8c]
mov edx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
lea ecx, [esp + 0x2c]
call fcn.0061dc40
cmp ax, 1
jge 0x5a2d68
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x1e
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x713840
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a2f50
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a2f47
cmp al, 0xff
je 0x5a2f47
dec al
mov byte [ecx], al
jmp 0x5a2f50
xor esi, esi
lea edi, [esp + 0x4c]
lea eax, [esi + 5]
lea ecx, [esp + 0x2c]
push eax
call fcn.0061daa0
mov byte [edi], al
inc esi
inc edi
cmp si, 4
jl 0x5a2d6e
sub esp, 0x24
lea edx, [esp + 0x83]
mov ecx, esp
mov dword [esp + 0x4c], esp
push ebx
push 1
push edx
push ecx
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
push ecx
lea ecx, [esp + 0x8c]
mov eax, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
lea ecx, [esp + 0x2c]
call fcn.0061dc40
cmp ax, 1
jge 0x5a2e5d
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x1f
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x713840
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a2f50
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a2f47
cmp al, 0xff
je 0x5a2f47
dec al
mov byte [ecx], al
jmp 0x5a2f50
xor esi, esi
lea edi, [esp + 0x50]
lea ecx, [esi + 5]
push ecx
lea ecx, [esp + 0x30]
call fcn.0061daa0
mov byte [edi], al
inc esi
inc edi
cmp si, 4
jl 0x5a2e63
sub esp, 0x24
lea eax, [esp + 0x86]
mov edx, esp
mov dword [esp + 0x4c], esp
push ebx
push 1
push eax
push edx
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push ecx
lea ecx, [esp + 0x90]
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
lea ecx, [esp + 0x2c]
call fcn.0061dc40
cmp ax, 1
jge 0x5a2fd4
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x20
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x713840
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x5a2f50
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a2f47
cmp al, 0xff
je 0x5a2f47
dec al
mov byte [ecx], al
jmp 0x5a2f50
push ecx
call fcn.006a64d0
add esp, 4
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov byte [esp + 0x2fc], 4
call fcn.00555f30
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2fc], 3
call fcn.00555f30
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2fc], 2
call fcn.0061d8c0
lea ecx, [esp + 0x88]
mov byte [esp + 0x2fc], 1
call fcn.0061ab90
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x5a1921
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x5a1918
cmp al, 0xff
je 0x5a1918
dec al
mov byte [ecx], al
jmp 0x5a1921
xor esi, esi
lea edi, [esp + 0x54]
lea edx, [esi + 5]
lea ecx, [esp + 0x2c]
push edx
call fcn.0061daa0
mov byte [edi], al
inc esi
inc edi
cmp si, 4
jl 0x5a2fda
lea edi, [esp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
mov byte [esp + 0x58], bl
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], esi
call fcn.00414a50
cmp eax, esi
jae 0x5a301b
call fcn.006a64db
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x5a3043
mov al, byte [edi - 1]
cmp al, bl
je 0x5a3043
cmp al, 0xff
je 0x5a3043
cmp esi, ebx
jne 0x5a306c
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138c0
jmp 0x5a309d
cmp esi, ebx
jne 0x5a3054
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp 0x5a309d
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x5a3061
cmp eax, esi
jae 0x5a307a
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
push esi
lea ecx, [esp + 0x1c]
call fcn.00414a60
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
lea esi, [esp + 0x4c]
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 [esp + 0x1c]
mov dword [esp + 0x20], eax
mov byte [eax + ecx], bl
push ecx
lea edx, [esp + 0x308]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
cmp bp, bx
je 0x5a33a0
cmp byte [0x72bd0c], bl
je 0x5a31dc
push 0x3e8
call fcn.0041afd0
add esp, 4
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x21
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71c5bc
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
push ecx
lea eax, [esp + 0x308]
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
lea edi, [esp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x18]
call fcn.00414a50
cmp eax, ebp
jae 0x5a3162
call fcn.006a64db
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x5a317e
mov al, byte [edi - 1]
cmp al, bl
je 0x5a317e
cmp al, 0xff
je 0x5a317e
cmp ebp, ebx
jne 0x5a31aa
jmp 0x5a3337
cmp ebp, ebx
jne 0x5a3192
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp 0x5a339e
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x5a319f
cmp eax, ebp
jae 0x5a31b8
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414a60
mov edi, dword [esp + 0x1c]
mov ecx, ebp
lea esi, [esp + 0x4c]
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 [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [eax + ebp], bl
jmp 0x5a339e
sub esp, 0x24
lea edx, [esp + 0x8c]
mov ecx, esp
mov dword [esp + 0x4c], esp
push ebx
push 1
push edx
push ecx
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
sub esp, 0x24
lea ecx, [esp + 0x93]
mov eax, esp
mov dword [esp + 0x4c], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
sub esp, 0x24
lea eax, [esp + 0x9a]
mov edx, esp
mov dword [esp + 0x4c], esp
push ebx
push 1
push eax
push edx
lea ecx, [esp + 0x1fc]
call fcn.00556960
lea ecx, [esp + 0xac]
call fcn.0061ac40
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push ecx
lea ecx, [esp + 0x90]
call fcn.0061afb0
lea ecx, [esp + 0x30]
call fcn.0061dab0
lea ecx, [esp + 0x2c]
call fcn.0061dc40
test ax, ax
jle 0x5a3641
cmp bp, 1
jne 0x5a339e
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x22
mov ecx, esp
mov dword [esp + 0x24], esp
push 6
push 0x71c5bc
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
push ecx
lea edx, [esp + 0x308]
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
call fcn.0061d790
mov ecx, dword [0x72baec]
call fcn.0062e250
lea edi, [esp + 0x4c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebp, ecx
lea ecx, [esp + 0x18]
call fcn.00414a50
cmp eax, ebp
jae 0x5a3320
call fcn.006a64db
mov edi, dword [esp + 0x1c]
cmp edi, ebx
je 0x5a3348
mov al, byte [edi - 1]
cmp al, bl
je 0x5a3348
cmp al, 0xff
je 0x5a3348
cmp ebp, ebx
jne 0x5a3371
dec al
push ebx
lea ecx, [esp + 0x1c]
mov byte [edi - 1], al
call fcn.004138c0
jmp 0x5a339e
cmp ebp, ebx
jne 0x5a3359
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
jmp 0x5a339e
mov eax, dword [esp + 0x24]
cmp eax, 0x1f
ja 0x5a3366
cmp eax, ebp
jae 0x5a337f
push 1
lea ecx, [esp + 0x1c]
call fcn.004138c0
push ebp
lea ecx, [esp + 0x1c]
call fcn.00414a60
mov edi, dword [esp + 0x1c]
mov ecx, ebp
lea esi, [esp + 0x4c]
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 [esp + 0x1c]
mov dword [esp + 0x20], ebp
mov byte [ecx + ebp], bl
xor ebp, ebp
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x71c5b4
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
sub esp, 0x10
lea edx, [esp + 0x28]
mov ecx, esp
mov dword [esp + 0x38], esp
push edx
call fcn.00413060
push ecx
mov byte [esp + 0x310], 0x24
mov ecx, esp
mov dword [esp + 0x28], esp
push 6
push 0x720350
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x310], 7
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x5a343f
dec eax
je case.default.0x5a19c6
jmp 0x5a309d
sub esp, 0x10
lea eax, [esp + 0x94]
mov ecx, esp
mov dword [esp + 0x38], esp
push eax
push 0x720340
call fcn.00413180
sub esp, 0x10
lea edx, [esp + 0xa5]
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
push 0x72ba88
mov byte [esp + 0x324], 0x25
call fcn.00413180
sub esp, 0x10
lea eax, [esp + 0xb6]
mov ecx, esp
mov dword [esp + 0x60], esp
push eax
push 0x7144cc
mov byte [esp + 0x334], 0x26
call fcn.00413180
sub esp, 0x10
lea edx, [esp + 0xc7]
mov ecx, esp
mov dword [esp + 0x30c], esp
push edx
push 0x72ba88
mov byte [esp + 0x344], 0x27
call fcn.00413180
sub esp, 0x10
lea eax, [esp + 0x354]
mov esi, esp
mov dword [esp + 0x238], esp
push ecx
mov byte [esp + 0x350], 0x28
mov ecx, esp
mov dword [esp + 0xd4], esp
push eax
call fcn.0061d790
push esi
call fcn.0061ca80
sub esp, 8
mov byte [esp + 0x35c], 0x29
mov esi, esp
mov dword [esp + 0xe0], esp
push ecx
mov ecx, esp
mov dword [esp + 0xe4], esp
push 6
push 0x720338
call fcn.0061d820
push esi
call fcn.0061ca80
add esp, 8
lea ecx, [esp + 0x340]
mov byte [esp + 0x35c], 7
push ecx
mov ecx, 0x72bae0
call fcn.0061f180
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x300], 0x2a
call fcn.004fe930
lea ecx, [esp + 0x2e0]
mov byte [esp + 0x2fc], 7
call fcn.0066b860
lea ecx, [esp + 0x38]
call fcn.00627420
cmp ax, 2
je case.default.0x5a19c6
lea edx, [esp + 0x2d0]
lea ecx, [esp + 0x38]
push edx
call fcn.0061e3e0
mov ecx, eax
mov byte [esp + 0x2fc], 0x2b
call fcn.004ff060
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x4c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x2fc], 7
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]
lea ecx, [esp + 0x2d0]
call fcn.00419a10
xor ecx, ecx
mov esi, 4
mov al, byte [esp + ecx + 0x4c]
cmp al, 0x60
jle 0x5a35e9
sub al, 0x20
mov byte [esp + ecx + 0x4c], al
mov dl, byte [esp + ecx + 0x4c]
mov byte [esp + ecx + 0x6b], dl
inc ecx
dec esi
jne 0x5a35db
xor ecx, ecx
mov esi, 4
mov al, byte [esp + ecx + 0x50]
cmp al, 0x60
jle 0x5a360a
sub al, 0x20
mov byte [esp + ecx + 0x50], al
mov al, byte [esp + ecx + 0x50]
mov byte [esp + ecx + 0x72], al
inc ecx
dec esi
jne 0x5a35fc
xor ecx, ecx
mov esi, 4
mov al, byte [esp + ecx + 0x54]
cmp al, 0x60
jle 0x5a362b
sub al, 0x20
mov byte [esp + ecx + 0x54], al
mov dl, byte [esp + ecx + 0x54]
mov byte [esp + ecx + 0x79], dl
inc ecx
dec esi
jne 0x5a361d
mov ebp, 1
jmp 0x5a309d
push ebx
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x8c], esp
push 6
push 0x7137f4
call fcn.0061d820
push ecx
mov byte [esp + 0x30c], 0x23
mov ecx, esp
mov dword [esp + 0x1f8], esp
push 6
push 0x713840
call fcn.0061d820
mov ecx, 0x72bae0
mov byte [esp + 0x30c], 7
call fcn.0061ef70
lea ecx, [esp + 0x34]
mov byte [esp + 0x2fc], 6
call fcn.0061d8c0
lea ecx, [esp + 0x18]
mov byte [esp + 0x2fc], 5
call fcn.00419a10
lea ecx, [esp + 0x1ec]
mov byte [esp + 0x2fc], 4
call fcn.00555f30
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x2fc], 3
call fcn.00555f30
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2fc], 2
call fcn.0061d8c0
lea ecx, [esp + 0x88]
mov byte [esp + 0x2fc], 1
call fcn.0061ab90
lea ecx, [esp + 0x38]
mov byte [esp + 0x2fc], bl
call fcn.0066b860
lea ecx, [esp + 0x304]
mov dword [esp + 0x2fc], 0xffffffff
call fcn.0061d8c0
xor ax, ax
jmp 0x5a2bc4