Function at 0x548d40
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x243
push 0
push 0
dec ecx
jne 0x548d49
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov byte [ebp - 0x15], cl
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
call fcn.00405a64
xor eax, eax
push ebp
push 0x54b9d1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x58253c]
call fcn.004055e4
mov eax, dword [0x582e18]
call fcn.004055e4
mov eax, dword [0x583054]
call fcn.004055e4
mov eax, dword [0x5829d0]
call fcn.004055e4
mov eax, dword [0x58291c]
call fcn.004055e4
mov dl, 1
mov eax, dword [0x41c07c]
call fcn.00404674
mov dword [ebp - 0x70], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x548e57
lea ecx, [ebp - 0x115c]
xor edx, edx
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x115c]
mov ecx, 0x15
mov edx, 0x54b9e8
call fcn.0048dd0c
test al, al
je 0x548e57
xor edx, edx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x548e57
inc eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x1164]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1164]
lea edx, [ebp - 0x1160]
call fcn.004e2168
mov ecx, dword [ebp - 0x1160]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc dword [ebp - 0x20]
dec dword [ebp - 0x74]
jne 0x548e1c
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x54b932
mov byte [ebp - 0x16], 0
xor esi, esi
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x549539
inc eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x1168]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1168]
lea edx, [ebp - 8]
call fcn.0040c950
cmp dword [ebp - 8], 0
je 0x54952d
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3b
je 0x54952d
cmp byte [ebp - 0x16], 0
jne 0x548eeb
mov edx, 0x54ba08
mov eax, dword [ebp - 8]
call fcn.0040c79c
test eax, eax
jne 0x548eeb
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov byte [ebp - 0x16], 1
jmp 0x54952d
cmp byte [ebp - 0x16], 0
je 0x54952d
mov eax, dword [ebp - 8]
cmp byte [eax], 0x5b
jne 0x548f25
mov eax, dword [ebp - 8]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x548f14
mov eax, dword [ebp - 0x7c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x7c]
cmp byte [eax + edx - 1], 0x5d
je 0x549539
mov edx, dword [ebp - 8]
mov eax, 0x54ba18
call fcn.00405bc0
test eax, eax
jle 0x54952d
mov ecx, 8
mov edx, 0x54ba24
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x54900b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x548f6b
mov eax, dword [ebp - 0x80]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x1170]
push eax
mov ecx, dword [ebp - 0x80]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x1170]
lea edx, [ebp - 0x116c]
call fcn.0040c950
mov edx, dword [ebp - 0x116c]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x548ffc
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x548ffc
mov eax, dword [ebp - 8]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
je 0x548fd5
mov eax, dword [ebp - 0x84]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
mov eax, dword [0x58253c]
push eax
mov ecx, dword [ebp - 0x84]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 6
jge 0x549539
jmp 0x54952d
mov ecx, 8
mov edx, 0x54ba38
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x5490eb
mov eax, dword [ebp - 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x549048
mov eax, dword [ebp - 0x88]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x1178]
push eax
mov ecx, dword [ebp - 0x88]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x1178]
lea edx, [ebp - 0x1174]
call fcn.0040c950
mov edx, dword [ebp - 0x1174]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5490dc
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5490dc
mov eax, dword [ebp - 8]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x5490b5
mov eax, dword [ebp - 0x8c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x8c], eax
mov eax, dword [0x582e18]
push eax
mov ecx, dword [ebp - 0x8c]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 6
jge 0x549539
jmp 0x54952d
mov ecx, 8
mov edx, 0x54ba4c
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x5491cb
mov eax, dword [ebp - 8]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x549128
mov eax, dword [ebp - 0x90]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x1180]
push eax
mov ecx, dword [ebp - 0x90]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x1180]
lea edx, [ebp - 0x117c]
call fcn.0040c950
mov edx, dword [ebp - 0x117c]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5491bc
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5491bc
mov eax, dword [ebp - 8]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x549195
mov eax, dword [ebp - 0x94]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x94], eax
mov eax, dword [0x583054]
push eax
mov ecx, dword [ebp - 0x94]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 6
jge 0x549539
jmp 0x54952d
mov ecx, 8
mov edx, 0x54ba60
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x5492c4
mov eax, dword [ebp - 8]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x549208
mov eax, dword [ebp - 0x98]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x1188]
push eax
mov ecx, dword [ebp - 0x98]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x1188]
lea edx, [ebp - 0x1184]
call fcn.0040c950
mov edx, dword [ebp - 0x1184]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5492b5
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5492b5
mov eax, dword [ebp - 8]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x549275
mov eax, dword [ebp - 0x9c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x118c]
push eax
mov ecx, dword [ebp - 0x9c]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x118c]
mov edx, 0x54ba74
call fcn.00405a0c
mov eax, dword [0x58240c]
sete byte [eax]
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 6
jge 0x549539
jmp 0x54952d
mov ecx, 8
mov edx, 0x54ba80
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x5493bd
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
je 0x549301
mov eax, dword [ebp - 0xa0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x1194]
push eax
mov ecx, dword [ebp - 0xa0]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x1194]
lea edx, [ebp - 0x1190]
call fcn.0040c950
mov edx, dword [ebp - 0x1190]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5493ae
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5493ae
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
je 0x54936e
mov eax, dword [ebp - 0xa4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0x1198]
push eax
mov ecx, dword [ebp - 0xa4]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x1198]
mov edx, 0x1e
call fcn.0040cf54
mov edx, dword [0x583144]
mov dword [edx], eax
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 6
jge 0x549539
jmp 0x54952d
mov ecx, 0xe
mov edx, 0x54ba94
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x54952d
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x5493fa
mov eax, dword [ebp - 0xa8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0x11a0]
push eax
mov ecx, dword [ebp - 0xa8]
sub ecx, 0xe
mov edx, 0xf
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11a0]
lea edx, [ebp - 0x119c]
call fcn.0040c950
mov edx, dword [ebp - 0x119c]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x549527
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x549527
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, dword [ebp - 8]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x54947c
mov eax, dword [ebp - 0xac]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0xac]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
push 0
lea eax, [ebp - 0x11a4]
push eax
mov byte [ebp - 0x11a8], 0x7c
lea ecx, [ebp - 0x11a8]
mov edx, dword [0x5829d0]
mov eax, dword [ebp - 8]
call fcn.0048d980
mov edx, dword [ebp - 0x11a4]
lea eax, [ebp - 8]
call fcn.0040567c
push 0
lea eax, [ebp - 0x11ac]
push eax
mov byte [ebp - 0x11a8], 0x7c
lea ecx, [ebp - 0x11a8]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0048d980
mov edx, dword [ebp - 0x11ac]
lea eax, [ebp - 8]
call fcn.0040567c
push 0
lea eax, [ebp - 0x11b0]
push eax
mov byte [ebp - 0x11a8], 0x7c
lea ecx, [ebp - 0x11a8]
mov edx, dword [0x58291c]
mov eax, dword [ebp - 8]
call fcn.0048d980
mov edx, dword [ebp - 0x11b0]
lea eax, [ebp - 8]
call fcn.0040567c
inc esi
cmp esi, 6
jge 0x549539
inc dword [ebp - 0x20]
dec dword [ebp - 0x74]
jne 0x548e89
mov eax, dword [0x58301c]
cmp dword [eax], 0
je 0x549c83
mov byte [ebp - 0x16], 0
xor esi, esi
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x549c83
inc eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x11b4]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x11b4]
lea edx, [ebp - 8]
call fcn.0040c950
cmp dword [ebp - 8], 0
je 0x549c77
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3b
je 0x549c77
cmp byte [ebp - 0x16], 0
jne 0x5495f9
lea eax, [ebp - 0x11b8]
push eax
mov eax, dword [0x58301c]
mov eax, dword [eax]
mov dword [ebp - 0x11c0], eax
mov byte [ebp - 0x11bc], 0xb
lea edx, [ebp - 0x11c0]
xor ecx, ecx
mov eax, 0x54baac
call fcn.0040e7b8
mov edx, dword [ebp - 0x11b8]
mov eax, dword [ebp - 8]
call fcn.0040c79c
test eax, eax
jne 0x5495f9
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov byte [ebp - 0x16], 1
jmp 0x549c77
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp - 0x16], 0
je 0x549c77
mov eax, dword [ebp - 8]
cmp byte [eax], 0x5b
jne 0x549660
mov eax, dword [ebp - 8]
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x54964c
mov eax, dword [ebp - 0xb0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xb0]
cmp byte [eax + edx - 1], 0x5d
je 0x549c83
mov edx, dword [ebp - 8]
mov eax, 0x54ba18
call fcn.00405bc0
test eax, eax
jle 0x549c77
mov ecx, 8
mov edx, 0x54ba24
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x549755
mov eax, dword [ebp - 8]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x5496b2
mov eax, dword [ebp - 0xb4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0x11c8]
push eax
mov ecx, dword [ebp - 0xb4]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11c8]
lea edx, [ebp - 0x11c4]
call fcn.0040c950
mov edx, dword [ebp - 0x11c4]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x549746
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x549746
mov eax, dword [ebp - 8]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x54971f
mov eax, dword [ebp - 0xb8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [0x5828b8]
push eax
mov ecx, dword [ebp - 0xb8]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 3
jge 0x549c83
jmp 0x549c77
mov ecx, 8
mov edx, 0x54ba38
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x549835
mov eax, dword [ebp - 8]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x549792
mov eax, dword [ebp - 0xbc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x11d0]
push eax
mov ecx, dword [ebp - 0xbc]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11d0]
lea edx, [ebp - 0x11cc]
call fcn.0040c950
mov edx, dword [ebp - 0x11cc]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x549826
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x549826
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x5497ff
mov eax, dword [ebp - 0xc0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [0x5830e8]
push eax
mov ecx, dword [ebp - 0xc0]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 3
jge 0x549c83
jmp 0x549c77
mov ecx, 8
mov edx, 0x54ba4c
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x549915
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x549872
mov eax, dword [ebp - 0xc4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x11d8]
push eax
mov ecx, dword [ebp - 0xc4]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11d8]
lea edx, [ebp - 0x11d4]
call fcn.0040c950
mov edx, dword [ebp - 0x11d4]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x549906
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x549906
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x5498df
mov eax, dword [ebp - 0xc8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [0x582490]
push eax
mov ecx, dword [ebp - 0xc8]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 3
jge 0x549c83
jmp 0x549c77
mov ecx, 8
mov edx, 0x54ba60
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x549a0e
mov eax, dword [ebp - 8]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x549952
mov eax, dword [ebp - 0xcc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x11e0]
push eax
mov ecx, dword [ebp - 0xcc]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11e0]
lea edx, [ebp - 0x11dc]
call fcn.0040c950
mov edx, dword [ebp - 0x11dc]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5499ff
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5499ff
mov eax, dword [ebp - 8]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x5499bf
mov eax, dword [ebp - 0xd0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x11e4]
push eax
mov ecx, dword [ebp - 0xd0]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11e4]
mov edx, 0x54ba74
call fcn.00405a0c
mov eax, dword [0x58240c]
sete byte [eax]
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 6
jge 0x549c83
jmp 0x549c77
mov ecx, 8
mov edx, 0x54ba80
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x549b07
mov eax, dword [ebp - 8]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x549a4b
mov eax, dword [ebp - 0xd4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x11ec]
push eax
mov ecx, dword [ebp - 0xd4]
sub ecx, 8
mov edx, 9
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11ec]
lea edx, [ebp - 0x11e8]
call fcn.0040c950
mov edx, dword [ebp - 0x11e8]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x549af8
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x549af8
mov eax, dword [ebp - 8]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x549ab8
mov eax, dword [ebp - 0xd8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xd8], eax
lea eax, [ebp - 0x11f0]
push eax
mov ecx, dword [ebp - 0xd8]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11f0]
mov edx, 0x1e
call fcn.0040cf54
mov edx, dword [0x583144]
mov dword [edx], eax
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
inc esi
cmp esi, 6
jge 0x549c83
jmp 0x549c77
mov ecx, 0xe
mov edx, 0x54ba94
mov eax, dword [ebp - 8]
call fcn.0048dd0c
test al, al
je 0x549c77
mov eax, dword [ebp - 8]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x549b44
mov eax, dword [ebp - 0xdc]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x11f8]
push eax
mov ecx, dword [ebp - 0xdc]
sub ecx, 0xe
mov edx, 0xf
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x11f8]
lea edx, [ebp - 0x11f4]
call fcn.0040c950
mov edx, dword [ebp - 0x11f4]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x549c71
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x549c71
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0x20]
mov eax, dword [ebp - 8]
mov dword [ebp - 0xe0], eax
cmp dword [ebp - 0xe0], 0
je 0x549bc6
mov eax, dword [ebp - 0xe0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 8]
push eax
mov ecx, dword [ebp - 0xe0]
dec ecx
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00405adc
push 0
lea eax, [ebp - 0x11fc]
push eax
mov byte [ebp - 0x11a8], 0x7c
lea ecx, [ebp - 0x11a8]
mov edx, dword [0x5829d0]
mov eax, dword [ebp - 8]
call fcn.0048d980
mov edx, dword [ebp - 0x11fc]
lea eax, [ebp - 8]
call fcn.0040567c
push 0
lea eax, [ebp - 0x1200]
push eax
mov byte [ebp - 0x11a8], 0x7c
lea ecx, [ebp - 0x11a8]
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0048d980
mov edx, dword [ebp - 0x1200]
lea eax, [ebp - 8]
call fcn.0040567c
push 0
lea eax, [ebp - 0x1204]
push eax
mov byte [ebp - 0x11a8], 0x7c
lea ecx, [ebp - 0x11a8]
mov edx, dword [0x58291c]
mov eax, dword [ebp - 8]
call fcn.0048d980
mov edx, dword [ebp - 0x1204]
lea eax, [ebp - 8]
call fcn.0040567c
inc esi
cmp esi, 6
jge 0x549c83
inc dword [ebp - 0x20]
dec dword [ebp - 0x74]
jne 0x549569
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, 0
jl 0x549cd3
mov dword [ebp - 0x20], eax
lea ecx, [ebp - 0x120c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x120c]
lea edx, [ebp - 0x1208]
call fcn.0040c950
cmp dword [ebp - 0x1208], 0
jne 0x549cca
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
call dword [ecx + 0x48]
dec dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xffffffff
jne 0x549c94
mov byte [ebp - 0x16], 0
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x54b932
inc eax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x1210]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x70]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x1210]
lea edx, [ebp - 8]
call fcn.0040c950
cmp dword [ebp - 8], 0
je 0x54b926
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3b
je 0x54b926
cmp byte [ebp - 0x16], 0
jne 0x549d48
mov edx, 0x54babc
mov eax, dword [ebp - 8]
call fcn.0040c79c
test eax, eax
jne 0x549d48
mov byte [ebp - 0x16], 1
jmp 0x54b926
cmp byte [ebp - 0x16], 0
je 0x54b926
mov eax, dword [ebp - 8]
cmp byte [eax], 0x5b
jne 0x549d91
mov eax, dword [ebp - 8]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x549d7d
mov eax, dword [ebp - 0xe4]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xe4]
cmp byte [eax + edx - 1], 0x5d
je 0x54b932
mov edx, dword [ebp - 8]
mov eax, 0x54ba18
call fcn.00405bc0
mov esi, eax
test esi, esi
jle 0x54b926
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x549db4
sub ebx, 4
mov ebx, dword [ebx]
lea eax, [ebp - 0x1218]
push eax
mov ecx, ebx
sub ecx, esi
lea edx, [esi + 1]
mov eax, dword [ebp - 8]
call fcn.00405adc
mov eax, dword [ebp - 0x1218]
lea edx, [ebp - 0x1214]
call fcn.0040c950
mov edx, dword [ebp - 0x1214]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x54b926
push 0x54bad0
push dword [ebp - 8]
push 0x54badc
lea eax, [ebp - 8]
mov edx, 3
call fcn.00405978
mov eax, dword [ebp - 8]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x549e30
mov eax, dword [ebp - 0xe8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x54]
call fcn.00405d04
lea eax, [ebp - 0x1100]
mov ecx, 0xff
mov edx, 0x1000
call fcn.00403e38
lea eax, [ebp - 0x1148]
mov ecx, 0xff
mov edx, 0x48
call fcn.00403e38
lea eax, [ebp - 0x1158]
push eax
call sub.kernel32.dll_GetLocalTime
movzx eax, word [ebp - 0x1158]
movzx edx, word [ebp - 0x1156]
add eax, edx
movzx edx, word [ebp - 0x1152]
add eax, edx
movzx edx, word [ebp - 0x1150]
add eax, edx
movzx edx, word [ebp - 0x114e]
add eax, edx
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x121c]
mov eax, dword [ebp - 0x28]
call fcn.0040cdac
mov eax, dword [ebp - 0x121c]
lea edx, [ebp - 0x100]
call fcn.0047ee5c
lea eax, [ebp - 0x3e]
xor ecx, ecx
mov edx, 8
call fcn.00403e38
lea edx, [ebp - 0x3e]
lea eax, [ebp - 0x100]
mov ecx, 8
call fcn.004035b8
mov dword [ebp - 0x48], 0x40
mov ecx, 8
mov eax, dword [ebp - 0x48]
xor edx, edx
div ecx
mov dword [ebp - 0x48], eax
lea edx, [ebp - 0x1100]
mov eax, dword [0x582f7c]
mov ecx, 0x1000
call fcn.004035b8
lea edx, [ebp - 0x1148]
mov eax, dword [0x582cd4]
mov ecx, 0x48
call fcn.004035b8
xor eax, eax
mov dword [ebp - 0x44], eax
mov ebx, 0x12
lea eax, [ebp - 0x1148]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0x44]
add eax, 3
xor edx, edx
div dword [ebp - 0x48]
movzx ecx, byte [ebp + edx - 0x3e]
mov eax, dword [ebp - 0x44]
add eax, 2
xor edx, edx
div dword [ebp - 0x48]
movzx eax, byte [ebp + edx - 0x3e]
shl eax, 8
add ecx, eax
mov eax, dword [ebp - 0x44]
inc eax
xor edx, edx
div dword [ebp - 0x48]
movzx eax, byte [ebp + edx - 0x3e]
shl eax, 0x10
add ecx, eax
mov eax, dword [ebp - 0x44]
movzx eax, byte [ebp + eax - 0x3e]
shl eax, 0x18
add ecx, eax
mov eax, dword [ebp - 0xec]
xor dword [eax], ecx
mov eax, dword [ebp - 0x44]
add eax, 4
xor edx, edx
div dword [ebp - 0x48]
mov dword [ebp - 0x44], edx
add dword [ebp - 0xec], 4
dec ebx
jne 0x549f3f
lea eax, [ebp - 0x50]
xor ecx, ecx
mov edx, 8
call fcn.00403e38
mov ebx, 9
lea eax, [ebp - 0x1148]
mov dword [ebp - 0xec], eax
lea edx, [ebp - 0x50]
mov ecx, edx
mov eax, dword [ecx]
add edx, 4
mov edx, dword [edx]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
xor eax, dword [ebp - 0x1148]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1144]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1140]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x113c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1138]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1134]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1130]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x112c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1128]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1124]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1120]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x111c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1118]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1114]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1110]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x110c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1108]
xor edx, dword [ebp - 0x1104]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
mov dword [ecx], edx
lea edx, [ebp - 0x50]
add edx, 4
mov dword [edx], eax
movzx eax, byte [ebp - 0x4d]
movzx edx, byte [ebp - 0x4e]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0x4f]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0x50]
shl edx, 0x18
add eax, edx
mov edx, dword [ebp - 0xec]
mov dword [edx], eax
movzx eax, byte [ebp - 0x49]
movzx edx, byte [ebp - 0x4a]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0x4b]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0x4c]
shl edx, 0x18
add eax, edx
mov edx, dword [ebp - 0xec]
mov dword [edx + 4], eax
add dword [ebp - 0xec], 8
dec ebx
jne 0x549fc4
mov dword [ebp - 0x44], 4
lea eax, [ebp - 0x1100]
mov dword [ebp - 0xec], eax
mov ebx, 0x80
mov eax, dword [ebp - 0xec]
mov ecx, eax
lea edx, [ebp - 0x50]
mov eax, dword [edx]
add edx, 4
mov edx, dword [edx]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
xor eax, dword [ebp - 0x1148]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1144]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1140]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x113c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1138]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1134]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1130]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x112c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1128]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1124]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1120]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x111c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1118]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1114]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1110]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x110c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1108]
xor edx, dword [ebp - 0x1104]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
lea esi, [ebp - 0x50]
mov dword [esi], edx
lea edx, [ebp - 0x50]
add edx, 4
mov dword [edx], eax
movzx eax, byte [ebp - 0x4d]
movzx edx, byte [ebp - 0x4e]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0x4f]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0x50]
shl edx, 0x18
add eax, edx
mov dword [ecx], eax
movzx eax, byte [ebp - 0x49]
movzx edx, byte [ebp - 0x4a]
shl edx, 8
add eax, edx
movzx edx, byte [ebp - 0x4b]
shl edx, 0x10
add eax, edx
movzx edx, byte [ebp - 0x4c]
shl edx, 0x18
add eax, edx
mov dword [ecx + 4], eax
add ecx, 8
dec ebx
jne 0x54a5f9
add dword [ebp - 0xec], 0x400
dec dword [ebp - 0x44]
jne 0x54a5ec
lea eax, [ebp - 0x10]
call fcn.00405ad4
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 8]
call fcn.00405ad4
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x64]
mov ecx, 0xff
mov edx, 8
call fcn.00403e38
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x5c], eax
mov ebx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x54]
test eax, eax
jns 0x54ac4d
add eax, 7
sar eax, 3
test eax, eax
jbe 0x54b2a6
mov dword [ebp - 0x78], eax
mov edx, ebx
mov eax, dword [ebp - 0x5c]
mov ecx, 8
call fcn.004035b8
mov ecx, 1
mov eax, ebx
cdq
push edx
push eax
mov eax, ecx
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
movzx eax, byte [eax]
push eax
lea eax, [ebp - 0x64]
cdq
push edx
push eax
mov eax, ecx
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
pop edx
xor dl, byte [eax]
push edx
mov eax, ebx
cdq
push edx
push eax
mov eax, ecx
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
pop edx
mov byte [eax], dl
inc ecx
cmp ecx, 9
jne 0x54ac6f
mov ecx, ebx
mov eax, dword [ecx]
mov edx, ebx
add edx, 4
mov edx, dword [edx]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
xor eax, dword [ebp - 0x1148]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1144]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1140]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x113c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1138]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1134]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1130]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x112c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1128]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1124]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1120]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x111c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1118]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x1114]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1110]
mov esi, eax
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, eax
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, eax
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, eax
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor edx, esi
xor edx, dword [ebp - 0x110c]
mov esi, edx
shr esi, 0x18
and esi, 0xff
mov esi, dword [ebp + esi*4 - 0x1100]
mov edi, edx
shr edi, 0x10
and edi, 0xff
add esi, dword [ebp + edi*4 - 0xd00]
mov edi, edx
shr edi, 8
and edi, 0xff
xor esi, dword [ebp + edi*4 - 0x900]
mov edi, edx
and edi, 0xff
add esi, dword [ebp + edi*4 - 0x500]
xor eax, esi
xor eax, dword [ebp - 0x1108]
xor edx, dword [ebp - 0x1104]
mov esi, eax
and esi, 0xff
shl esi, 0x18
mov edi, eax
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, eax
and edi, 0xff0000
shr edi, 8
or esi, edi
and eax, 0xff000000
shr eax, 0x18
or esi, eax
mov eax, esi
mov esi, edx
and esi, 0xff
shl esi, 0x18
mov edi, edx
and edi, 0xff00
shl edi, 8
or esi, edi
mov edi, edx
and edi, 0xff0000
shr edi, 8
or esi, edi
and edx, 0xff000000
shr edx, 0x18
or esi, edx
mov edx, esi
mov dword [ecx], edx
mov edx, ebx
add edx, 4
mov dword [edx], eax
lea edx, [ebp - 0x64]
mov eax, ebx
mov ecx, 8
call fcn.004035b8
mov eax, dword [ebp - 0x5c]
add eax, 8
mov dword [ebp - 0x5c], eax
add ebx, 8
dec dword [ebp - 0x78]
jne 0x54ac5b
mov eax, dword [ebp - 0x54]
and eax, 0x80000007
jns 0x54b2b5
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x54b904
lea eax, [ebp - 0x64]
mov eax, dword [eax]
lea edx, [ebp - 0x64]
add edx, 4
mov edx, dword [edx]
mov ecx, eax
and ecx, 0xff
shl ecx, 0x18
mov esi, eax
and esi, 0xff00
shl esi, 8
or ecx, esi
mov esi, eax
and esi, 0xff0000
shr esi, 8
or ecx, esi
and eax, 0xff000000
shr eax, 0x18
or ecx, eax
mov eax, ecx
mov ecx, edx
and ecx, 0xff
shl ecx, 0x18
mov esi, edx
and esi, 0xff00
shl esi, 8
or ecx, esi
mov esi, edx
and esi, 0xff0000
shr esi, 8
or ecx, esi
and edx, 0xff000000
shr edx, 0x18
or ecx, edx
mov edx, ecx
xor eax, dword [ebp - 0x1148]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, eax
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor edx, ecx
xor edx, dword [ebp - 0x1144]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, edx
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor eax, ecx
xor eax, dword [ebp - 0x1140]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, eax
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor edx, ecx
xor edx, dword [ebp - 0x113c]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, edx
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor eax, ecx
xor eax, dword [ebp - 0x1138]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, eax
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor edx, ecx
xor edx, dword [ebp - 0x1134]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, edx
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor eax, ecx
xor eax, dword [ebp - 0x1130]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, eax
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor edx, ecx
xor edx, dword [ebp - 0x112c]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, edx
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor eax, ecx
xor eax, dword [ebp - 0x1128]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, eax
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor edx, ecx
xor edx, dword [ebp - 0x1124]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, edx
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor eax, ecx
xor eax, dword [ebp - 0x1120]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, eax
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor edx, ecx
xor edx, dword [ebp - 0x111c]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, edx
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor eax, ecx
xor eax, dword [ebp - 0x1118]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, eax
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor edx, ecx
xor edx, dword [ebp - 0x1114]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, edx
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor eax, ecx
xor eax, dword [ebp - 0x1110]
mov ecx, eax
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, eax
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, eax
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, eax
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor edx, ecx
xor edx, dword [ebp - 0x110c]
mov ecx, edx
shr ecx, 0x18
and ecx, 0xff
mov ecx, dword [ebp + ecx*4 - 0x1100]
mov esi, edx
shr esi, 0x10
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0xd00]
mov esi, edx
shr esi, 8
and esi, 0xff
xor ecx, dword [ebp + esi*4 - 0x900]
mov esi, edx
and esi, 0xff
add ecx, dword [ebp + esi*4 - 0x500]
xor eax, ecx
xor eax, dword [ebp - 0x1108]
xor edx, dword [ebp - 0x1104]
mov ecx, eax
and ecx, 0xff
shl ecx, 0x18
mov esi, eax
and esi, 0xff00
shl esi, 8
or ecx, esi
mov esi, eax
and esi, 0xff0000
shr esi, 8
or ecx, esi
and eax, 0xff000000
shr eax, 0x18
or ecx, eax
mov eax, ecx
mov ecx, edx
and ecx, 0xff
shl ecx, 0x18
mov esi, edx
and esi, 0xff00
shl esi, 8
or ecx, esi
mov esi, edx
and esi, 0xff0000
shr esi, 8
or ecx, esi
and edx, 0xff000000
shr edx, 0x18
or ecx, edx
mov edx, ecx
lea ecx, [ebp - 0x64]
mov dword [ecx], edx
lea edx, [ebp - 0x64]
add edx, 4
mov dword [edx], eax
mov eax, dword [ebp - 0x54]
and eax, 0x80000007
jns 0x54b888
dec eax
or eax, 0xfffffff8
inc eax
mov dword [ebp - 0x58], eax
mov edx, ebx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
call fcn.004035b8
mov eax, dword [ebp - 0x58]
test eax, eax
jbe 0x54b904
mov dword [ebp - 0x78], eax
mov ecx, 1
mov eax, ebx
cdq
push edx
push eax
mov eax, ecx
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
movzx eax, byte [eax]
push eax
lea eax, [ebp - 0x64]
cdq
push edx
push eax
mov eax, ecx
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
pop edx
xor dl, byte [eax]
push edx
mov eax, ebx
cdq
push edx
push eax
mov eax, ecx
xor edx, edx
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
sub eax, 1
sbb edx, 0
pop edx
mov byte [eax], dl
inc ecx
dec dword [ebp - 0x78]
jne 0x54b8a7
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0048ed34
mov eax, dword [0x582638]
mov eax, dword [eax]
mov edx, dword [ebp - 8]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 8]
call fcn.004055e4
inc dword [ebp - 0x20]
dec dword [ebp - 0x74]
jne 0x549cf3
mov eax, dword [ebp - 0x70]
call fcn.004046a4
mov eax, dword [0x582a64]
mov eax, dword [eax]
call fcn.0047cbdc
xor eax, eax
push ebp
push 0x54b97f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x582a64]
mov eax, dword [eax]
mov edx, 1
call fcn.0041e184
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54b986
mov eax, dword [0x582a64]
mov eax, dword [eax]
call fcn.0047cbe8
ret