Function at 0x5565f0
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 0x5565f9
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 0x5592c2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x588544]
call fcn.004055e4
mov eax, dword [0x588e20]
call fcn.004055e4
mov eax, dword [0x589060]
call fcn.004055e4
mov eax, dword [0x5889d8]
call fcn.004055e4
mov eax, dword [0x588924]
call fcn.004055e4
mov dl, 1
mov eax, dword [0x41c04c]
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 0x556707
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, 0x5592d8
call fcn.0049954c
test al, al
je 0x556707
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 0x556707
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.00547b00
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 0x5566cc
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jle 0x559223
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 0x556de9
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.0040c920
cmp dword [ebp - 8], 0
je 0x556ddd
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3b
je 0x556ddd
cmp byte [ebp - 0x16], 0
jne 0x55679b
mov edx, 0x5592f8
mov eax, dword [ebp - 8]
call fcn.0040c78c
test eax, eax
jne 0x55679b
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 0x556ddd
cmp byte [ebp - 0x16], 0
je 0x556ddd
mov eax, dword [ebp - 8]
cmp byte [eax], 0x5b
jne 0x5567d5
mov eax, dword [ebp - 8]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x5567c4
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 0x556de9
mov edx, dword [ebp - 8]
mov eax, 0x559308
call fcn.00405bc0
test eax, eax
jle 0x556ddd
mov ecx, 8
mov edx, 0x559314
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x5568bb
mov eax, dword [ebp - 8]
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x80], 0
je 0x55681b
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.0040c920
mov edx, dword [ebp - 0x116c]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5568ac
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5568ac
mov eax, dword [ebp - 8]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
je 0x556885
mov eax, dword [ebp - 0x84]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
mov eax, dword [0x588544]
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 0x556de9
jmp 0x556ddd
mov ecx, 8
mov edx, 0x559328
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x55699b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x5568f8
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.0040c920
mov edx, dword [ebp - 0x1174]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x55698c
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x55698c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x556965
mov eax, dword [ebp - 0x8c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x8c], eax
mov eax, dword [0x588e20]
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 0x556de9
jmp 0x556ddd
mov ecx, 8
mov edx, 0x55933c
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x556a7b
mov eax, dword [ebp - 8]
mov dword [ebp - 0x90], eax
cmp dword [ebp - 0x90], 0
je 0x5569d8
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.0040c920
mov edx, dword [ebp - 0x117c]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x556a6c
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x556a6c
mov eax, dword [ebp - 8]
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0
je 0x556a45
mov eax, dword [ebp - 0x94]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x94], eax
mov eax, dword [0x589060]
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 0x556de9
jmp 0x556ddd
mov ecx, 8
mov edx, 0x559350
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x556b74
mov eax, dword [ebp - 8]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x556ab8
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.0040c920
mov edx, dword [ebp - 0x1184]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x556b65
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x556b65
mov eax, dword [ebp - 8]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x556b25
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, 0x559364
call fcn.00405a0c
mov eax, dword [0x588410]
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 0x556de9
jmp 0x556ddd
mov ecx, 8
mov edx, 0x559370
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x556c6d
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0
je 0x556bb1
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.0040c920
mov edx, dword [ebp - 0x1190]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x556c5e
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x556c5e
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
je 0x556c1e
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.0040cf24
mov edx, dword [0x589150]
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 0x556de9
jmp 0x556ddd
mov ecx, 0xe
mov edx, 0x559384
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x556ddd
mov eax, dword [ebp - 8]
mov dword [ebp - 0xa8], eax
cmp dword [ebp - 0xa8], 0
je 0x556caa
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.0040c920
mov edx, dword [ebp - 0x119c]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x556dd7
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x556dd7
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 0x556d2c
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 [0x5889d8]
mov eax, dword [ebp - 8]
call fcn.004991c0
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.004991c0
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 [0x588924]
mov eax, dword [ebp - 8]
call fcn.004991c0
mov edx, dword [ebp - 0x11b0]
lea eax, [ebp - 8]
call fcn.0040567c
inc esi
cmp esi, 6
jge 0x556de9
inc dword [ebp - 0x20]
dec dword [ebp - 0x74]
jne 0x556739
mov eax, dword [0x589028]
cmp dword [eax], 0
je 0x557574
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 0x557574
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.0040c920
cmp dword [ebp - 8], 0
je 0x557568
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3b
je 0x557568
cmp byte [ebp - 0x16], 0
jne 0x556ea9
lea eax, [ebp - 0x11b8]
push eax
mov eax, dword [0x589028]
mov eax, dword [eax]
mov dword [ebp - 0x11c0], eax
mov byte [ebp - 0x11bc], 0xb
lea edx, [ebp - 0x11c0]
xor ecx, ecx
mov eax, 0x55939c
call fcn.0040e788
mov edx, dword [ebp - 0x11b8]
mov eax, dword [ebp - 8]
call fcn.0040c78c
test eax, eax
jne 0x556ea9
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 0x557568
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
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
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
nop
nop
nop
nop
nop
cmp byte [ebp - 0x16], 0
je 0x557568
mov eax, dword [ebp - 8]
cmp byte [eax], 0x5b
jne 0x556f51
mov eax, dword [ebp - 8]
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x556f3d
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 0x557574
mov edx, dword [ebp - 8]
mov eax, 0x559308
call fcn.00405bc0
test eax, eax
jle 0x557568
mov ecx, 8
mov edx, 0x559314
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x557046
mov eax, dword [ebp - 8]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x556fa3
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.0040c920
mov edx, dword [ebp - 0x11c4]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x557037
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x557037
mov eax, dword [ebp - 8]
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0
je 0x557010
mov eax, dword [ebp - 0xb8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [0x5888c0]
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 0x557574
jmp 0x557568
mov ecx, 8
mov edx, 0x559328
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x557126
mov eax, dword [ebp - 8]
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0
je 0x557083
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.0040c920
mov edx, dword [ebp - 0x11cc]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x557117
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x557117
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x5570f0
mov eax, dword [ebp - 0xc0]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov eax, dword [0x5890f4]
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 0x557574
jmp 0x557568
mov ecx, 8
mov edx, 0x55933c
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x557206
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc4], eax
cmp dword [ebp - 0xc4], 0
je 0x557163
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.0040c920
mov edx, dword [ebp - 0x11d4]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5571f7
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5571f7
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 0
je 0x5571d0
mov eax, dword [ebp - 0xc8]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov eax, dword [0x588498]
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 0x557574
jmp 0x557568
mov ecx, 8
mov edx, 0x559350
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x5572ff
mov eax, dword [ebp - 8]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x557243
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.0040c920
mov edx, dword [ebp - 0x11dc]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5572f0
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5572f0
mov eax, dword [ebp - 8]
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x5572b0
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, 0x559364
call fcn.00405a0c
mov eax, dword [0x588410]
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 0x557574
jmp 0x557568
mov ecx, 8
mov edx, 0x559370
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x5573f8
mov eax, dword [ebp - 8]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
je 0x55733c
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.0040c920
mov edx, dword [ebp - 0x11e8]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x5573e9
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x5573e9
mov eax, dword [ebp - 8]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x5573a9
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.0040cf24
mov edx, dword [0x589150]
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 0x557574
jmp 0x557568
mov ecx, 0xe
mov edx, 0x559384
mov eax, dword [ebp - 8]
call fcn.0049954c
test al, al
je 0x557568
mov eax, dword [ebp - 8]
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0
je 0x557435
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.0040c920
mov edx, dword [ebp - 0x11f4]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x557562
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3d
jne 0x557562
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 0x5574b7
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 [0x5889d8]
mov eax, dword [ebp - 8]
call fcn.004991c0
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.004991c0
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 [0x588924]
mov eax, dword [ebp - 8]
call fcn.004991c0
mov edx, dword [ebp - 0x1204]
lea eax, [ebp - 8]
call fcn.0040567c
inc esi
cmp esi, 6
jge 0x557574
inc dword [ebp - 0x20]
dec dword [ebp - 0x74]
jne 0x556e19
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
cmp eax, 0
jl 0x5575c4
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.0040c920
cmp dword [ebp - 0x1208], 0
jne 0x5575bb
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 0x557585
mov byte [ebp - 0x16], 0
mov eax, dword [ebp - 0x70]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x559223
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.0040c920
cmp dword [ebp - 8], 0
je 0x559217
mov eax, dword [ebp - 8]
cmp byte [eax], 0x3b
je 0x559217
cmp byte [ebp - 0x16], 0
jne 0x557639
mov edx, 0x5593ac
mov eax, dword [ebp - 8]
call fcn.0040c78c
test eax, eax
jne 0x557639
mov byte [ebp - 0x16], 1
jmp 0x559217
cmp byte [ebp - 0x16], 0
je 0x559217
mov eax, dword [ebp - 8]
cmp byte [eax], 0x5b
jne 0x557682
mov eax, dword [ebp - 8]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x55766e
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 0x559223
mov edx, dword [ebp - 8]
mov eax, 0x559308
call fcn.00405bc0
mov esi, eax
test esi, esi
jle 0x559217
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x5576a5
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.0040c920
mov edx, dword [ebp - 0x1214]
lea eax, [ebp - 8]
call fcn.0040567c
cmp dword [ebp - 8], 0
je 0x559217
push 0x5593c0
push dword [ebp - 8]
push 0x5593cc
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 0x557721
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.0040cd7c
mov eax, dword [ebp - 0x121c]
lea edx, [ebp - 0x100]
call fcn.0048fd04
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 [0x588f88]
mov ecx, 0x1000
call fcn.004035b8
lea edx, [ebp - 0x1148]
mov eax, dword [0x588cdc]
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 0x557830
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 0x5578b5
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 0x557eea
add dword [ebp - 0xec], 0x400
dec dword [ebp - 0x44]
jne 0x557edd
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 0x55853e
add eax, 7
sar eax, 3
test eax, eax
jbe 0x558b97
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 0x558560
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 0x55854c
mov eax, dword [ebp - 0x54]
and eax, 0x80000007
jns 0x558ba6
dec eax
or eax, 0xfffffff8
inc eax
test eax, eax
je 0x5591f5
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 0x559179
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 0x5591f5
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 0x559198
lea edx, [ebp - 8]
mov eax, dword [ebp - 0x10]
call fcn.0049ad0c
mov eax, dword [0x588640]
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 0x5575e4
mov eax, dword [ebp - 0x70]
call fcn.004046a4
mov eax, dword [0x588a6c]
mov eax, dword [eax]
call fcn.0048ad6c
xor eax, eax
push ebp
push 0x559270
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x588a6c]
mov eax, dword [eax]
mov edx, 1
call fcn.0041e154
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x559277
mov eax, dword [0x588a6c]
mov eax, dword [eax]
call fcn.0048ad78
ret