Function at 0x10043050
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
sub esp, 0x2a4
mov eax, dword [esp + 0x2b4]
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x294], eax
mov eax, dword [0x1006ace0]
mov dword [esp + 0x298], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x29c], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x2a0], eax
mov ecx, dword [esp + 0x2a0]
mov eax, dword [esp + 0x298]
imul eax, ecx
and eax, 1
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x28c]
cmp ecx, 0
sete cl
cmp eax, 0xa
setl al
mov byte [esp + 0x285], al
mov ah, cl
xor ah, 0xff
mov byte [esp + 0x286], ah
xor al, 0xff
mov byte [esp + 0x287], al
mov dl, 1
xor dl, 0
mov byte [esp + 0x288], dl
and ah, 0
mov byte [esp + 0x289], ah
and cl, dl
mov byte [esp + 0x28a], cl
and al, 0
mov byte [esp + 0x28b], al
mov al, byte [esp + 0x28b]
mov ah, byte [esp + 0x28a]
mov dl, byte [esp + 0x289]
mov ch, byte [esp + 0x288]
mov cl, byte [esp + 0x285]
and cl, ch
or dl, ah
mov byte [esp + 0x283], dl
or al, cl
mov byte [esp + 0x284], al
mov dl, byte [esp + 0x288]
mov ah, byte [esp + 0x287]
mov cl, byte [esp + 0x286]
mov ch, byte [esp + 0x284]
mov al, byte [esp + 0x283]
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x282], al
mov al, byte [esp + 0x282]
test al, 1
jne 0x10043197
jmp 0x10044952
mov eax, dword [0x1006ace0]
mov dword [esp + 0x274], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x278], ecx
add eax, 0xd0358a71
mov dword [esp + 0x27c], eax
mov eax, dword [esp + 0x27c]
sub eax, 1
mov dword [esp + 0x270], eax
mov eax, dword [esp + 0x270]
sub eax, 0xd0358a71
mov dword [esp + 0x26c], eax
mov ecx, dword [esp + 0x26c]
mov eax, dword [esp + 0x274]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x26b], al
mov al, byte [esp + 0x26b]
mov ecx, dword [esp + 0x278]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [esp + 0x269], dl
xor al, cl
mov byte [esp + 0x26a], al
mov cl, byte [esp + 0x26a]
mov al, byte [esp + 0x269]
or al, cl
test al, 1
jne 0x10043246
jmp 0x10044952
mov eax, dword [0x1006ace0]
mov dword [esp + 0x25c], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x260], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x264], eax
mov ecx, dword [esp + 0x264]
mov eax, dword [esp + 0x25c]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x25b], al
mov cl, byte [esp + 0x25b]
mov eax, dword [esp + 0x260]
cmp eax, 0xa
setl al
mov byte [esp + 0x258], al
xor cl, 0xff
mov byte [esp + 0x259], cl
xor al, 0xff
mov byte [esp + 0x25a], al
mov al, byte [esp + 0x25a]
mov cl, byte [esp + 0x25b]
mov ah, byte [esp + 0x259]
mov dl, 1
xor dl, 0
mov byte [esp + 0x254], dl
and ah, 0
mov byte [esp + 0x255], ah
and cl, dl
mov byte [esp + 0x256], cl
and al, 0
mov byte [esp + 0x257], al
mov cl, byte [esp + 0x256]
mov al, byte [esp + 0x255]
mov ah, byte [esp + 0x254]
mov dl, byte [esp + 0x258]
and dl, ah
mov byte [esp + 0x252], dl
or al, cl
mov byte [esp + 0x253], al
mov dl, byte [esp + 0x254]
mov ah, byte [esp + 0x25a]
mov cl, byte [esp + 0x259]
mov al, byte [esp + 0x253]
mov dh, byte [esp + 0x252]
mov ch, byte [esp + 0x257]
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1004336e
jmp 0x10044037
mov eax, dword [0x1006ace0]
mov dword [esp + 0x24c], eax
mov eax, dword [esp + 0x24c]
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x244], ecx
mov ecx, eax
sub ecx, 0x43c8086f
sub ecx, 1
add ecx, 0x43c8086f
imul eax, ecx
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x248]
and eax, 1
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x240]
cmp eax, 0
sete al
mov byte [esp + 0x23f], al
mov eax, dword [esp + 0x244]
cmp eax, 0xa
setl al
mov byte [esp + 0x23e], al
mov dl, byte [esp + 0x23e]
mov cl, byte [esp + 0x23f]
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x10043405
jmp 0x1004451a
mov eax, dword [0x1006ace0]
mov dword [esp + 0x230], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x234], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x238], eax
mov ecx, dword [esp + 0x234]
mov edx, dword [esp + 0x238]
mov eax, dword [esp + 0x230]
imul eax, edx
and eax, 1
cmp eax, 0
sete ah
cmp ecx, 0xa
setl al
mov ch, ah
xor ch, 0xff
mov byte [esp + 0x229], ch
mov dl, al
xor dl, 0xff
mov byte [esp + 0x22a], dl
mov cl, 1
xor cl, 0
mov byte [esp + 0x22b], cl
and ch, 0
mov byte [esp + 0x22c], ch
and ah, cl
mov byte [esp + 0x22d], ah
and dl, 0
mov byte [esp + 0x22e], dl
and al, cl
mov byte [esp + 0x22f], al
mov cl, byte [esp + 0x22a]
mov al, byte [esp + 0x229]
mov ch, byte [esp + 0x22f]
mov ah, byte [esp + 0x22e]
mov dh, byte [esp + 0x22d]
mov dl, byte [esp + 0x22c]
or dl, dh
or ah, ch
xor dl, ah
mov byte [esp + 0x227], dl
or al, cl
mov byte [esp + 0x228], al
mov al, byte [esp + 0x228]
xor al, 0xff
mov byte [esp + 0x226], al
mov al, byte [esp + 0x227]
mov cl, byte [esp + 0x226]
mov dl, byte [esp + 0x22b]
or dl, 0
and cl, dl
or al, cl
mov byte [esp + 0x225], al
mov al, byte [esp + 0x225]
test al, 1
jne 0x10043524
jmp 0x10044957
mov eax, dword [esp + 0x290]
add eax, 0x1a
mov dword [esp + 0x218], eax
mov eax, dword [0x10069328]
cmp dword [eax + 0x16a21589], 1
sete al
mov byte [esp + 0x21f], al
mov eax, dword [0x1006ace0]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x220]
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x210], ecx
xor edx, edx
sub edx, 1
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x217], al
mov eax, dword [esp + 0x210]
cmp eax, 0xa
setl al
mov byte [esp + 0x20f], al
mov dl, byte [esp + 0x20f]
mov ah, byte [esp + 0x217]
mov al, ah
xor al, 0xff
mov byte [esp + 0x20b], al
mov cl, dl
xor cl, 0xff
mov byte [esp + 0x20c], cl
mov ch, 1
xor ch, 1
mov byte [esp + 0x20d], ch
and al, 0xff
and ah, ch
and cl, 0xff
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x20e], al
mov al, byte [esp + 0x20e]
mov dl, byte [esp + 0x20d]
mov ah, byte [esp + 0x20c]
mov cl, byte [esp + 0x20b]
or cl, ah
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
mov byte [esp + 0x20a], al
mov al, byte [esp + 0x20a]
test al, 1
jne 0x10043625
jmp 0x10044957
mov eax, dword [0x1006ace0]
mov dword [esp + 0x1fc], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x200], ecx
add eax, 0x7728189e
sub eax, 1
sub eax, 0x7728189e
mov dword [esp + 0x204], eax
mov ecx, dword [esp + 0x204]
mov eax, dword [esp + 0x1fc]
imul eax, ecx
mov dword [esp + 0x1f8], eax
mov ecx, dword [esp + 0x200]
mov eax, dword [esp + 0x1f8]
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [esp + 0x1f6], dl
xor al, cl
mov byte [esp + 0x1f7], al
mov cl, byte [esp + 0x1f7]
mov al, byte [esp + 0x1f6]
or al, cl
mov byte [esp + 0x1f5], al
mov al, byte [esp + 0x1f5]
test al, 1
jne 0x100436c6
jmp 0x1004451a
mov eax, dword [0x1006ace0]
mov dword [esp + 0x1e8], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x1ec], ecx
sub eax, 0xadb8c430
sub eax, 1
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x1f0]
add eax, 0xadb8c430
mov dword [esp + 0x1e4], eax
mov ecx, dword [esp + 0x1e4]
mov eax, dword [esp + 0x1e8]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x1e3], al
mov eax, dword [esp + 0x1ec]
cmp eax, 0xa
setl al
mov byte [esp + 0x1e2], al
mov cl, byte [esp + 0x1e2]
mov al, byte [esp + 0x1e3]
and al, cl
mov byte [esp + 0x1e1], al
mov al, byte [esp + 0x1e1]
mov dl, byte [esp + 0x1e2]
mov cl, byte [esp + 0x1e3]
xor cl, dl
or al, cl
test al, 1
jne 0x10043773
jmp 0x10044037
mov cl, byte [esp + 0x21f]
xor eax, eax
test cl, 1
mov dword [esp + 0x1dc], eax
jne 0x10043eeb
jmp 0x10043791
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x290]
mov edx, dword [esp + 0x218]
mov dword [esp + 0x1d8], eax
mov bh, byte [edx + eax]
mov esi, 0x1a
xor edx, edx
div esi
mov eax, dword [esp + 0x1d8]
mov bl, byte [ecx + edx]
mov dl, bh
xor dl, 0xff
and dl, 0x64
mov cl, 0xff
xor cl, 0x64
and bh, cl
mov dh, bl
xor dh, 0xff
and dh, 0x64
and bl, cl
mov ecx, dword [esp + 0x294]
or dl, bh
or dh, bl
xor dl, dh
mov byte [ecx + eax], dl
sub eax, 0xc432b0f7
add eax, 1
add eax, 0xc432b0f7
cmp eax, 0x11
mov dword [esp + 0x1dc], eax
jne 0x10043791
mov eax, dword [0x1006ace0]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x1d4]
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x1cc], ecx
mov ecx, eax
sub ecx, 0x1708ad3e
sub ecx, 1
add ecx, 0x1708ad3e
imul eax, ecx
and eax, 1
mov dword [esp + 0x1d0], eax
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1d0]
cmp ecx, 0
sete cl
mov byte [esp + 0x1c8], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x1c9], al
xor cl, 0xff
mov byte [esp + 0x1ca], cl
xor al, 0xff
mov byte [esp + 0x1cb], al
mov cl, byte [esp + 0x1c9]
mov al, byte [esp + 0x1cb]
mov ah, byte [esp + 0x1c8]
mov dl, byte [esp + 0x1ca]
mov ch, 1
xor ch, 1
mov byte [esp + 0x1c5], ch
and dl, 0xff
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [esp + 0x1c6], dl
or al, cl
mov byte [esp + 0x1c7], al
mov cl, byte [esp + 0x1c5]
mov dl, byte [esp + 0x1cb]
mov al, byte [esp + 0x1ca]
mov ch, byte [esp + 0x1c7]
mov ah, byte [esp + 0x1c6]
xor ah, ch
mov byte [esp + 0x1c3], ah
or al, dl
xor al, 0xff
or cl, 1
and al, cl
mov byte [esp + 0x1c4], al
mov cl, byte [esp + 0x1c4]
mov al, byte [esp + 0x1c3]
or al, cl
test al, 1
jne 0x1004391e
jmp 0x10044547
mov eax, dword [0x1006ace0]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x1bc]
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x1b4], ecx
add eax, 0x52509f47
sub eax, 1
sub eax, 0x52509f47
mov dword [esp + 0x1b8], eax
mov ecx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1bc]
imul eax, ecx
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1b0]
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x1af], al
mov cl, byte [esp + 0x1af]
mov eax, dword [esp + 0x1b4]
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0x1ae], al
mov al, byte [esp + 0x1ae]
test al, 1
jne 0x100439b8
jmp 0x10044978
mov eax, dword [0x1006ace0]
mov ecx, dword [0x1006acdc]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x1a8], cl
mov dl, al
xor dl, 0xff
mov byte [esp + 0x1a9], dl
xor cl, 0xff
mov byte [esp + 0x1aa], cl
mov cl, 1
xor cl, 1
mov byte [esp + 0x1ab], cl
and dl, 0xff
mov byte [esp + 0x1ac], dl
and al, cl
mov byte [esp + 0x1ad], al
mov al, byte [esp + 0x1aa]
and al, 0xff
mov byte [esp + 0x1a7], al
mov al, byte [esp + 0x1a7]
mov ah, byte [esp + 0x1ad]
mov dl, byte [esp + 0x1ac]
mov ch, byte [esp + 0x1ab]
mov cl, byte [esp + 0x1a8]
and cl, ch
or dl, ah
mov byte [esp + 0x1a5], dl
or al, cl
mov byte [esp + 0x1a6], al
mov cl, byte [esp + 0x1aa]
mov al, byte [esp + 0x1a9]
mov ah, byte [esp + 0x1a6]
mov dl, byte [esp + 0x1a5]
xor dl, ah
mov byte [esp + 0x1a3], dl
or al, cl
xor al, 0xff
mov byte [esp + 0x1a4], al
mov al, byte [esp + 0x1a4]
mov cl, byte [esp + 0x1ab]
or cl, 1
and al, cl
mov byte [esp + 0x1a2], al
mov cl, byte [esp + 0x1a2]
mov al, byte [esp + 0x1a3]
or al, cl
test al, 1
jne 0x10043ac8
jmp 0x10044978
mov eax, dword [0x1006ace0]
mov dword [esp + 0x19c], eax
mov eax, dword [esp + 0x19c]
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x194], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0x198], eax
mov ecx, dword [esp + 0x194]
mov edx, dword [esp + 0x198]
mov eax, dword [esp + 0x19c]
imul eax, edx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x191], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x192], cl
and al, cl
mov byte [esp + 0x193], al
mov cl, byte [esp + 0x192]
mov al, byte [esp + 0x191]
xor al, cl
mov byte [esp + 0x190], al
mov cl, byte [esp + 0x190]
mov al, byte [esp + 0x193]
or al, cl
mov byte [esp + 0x18f], al
mov al, byte [esp + 0x18f]
test al, 1
jne 0x10043b76
jmp 0x10044547
mov eax, dword [0x1006ace0]
mov dword [esp + 0x184], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x184]
mov ecx, eax
add ecx, 0x552a3f9e
sub ecx, 1
sub ecx, 0x552a3f9e
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x183], al
mov eax, dword [esp + 0x188]
cmp eax, 0xa
setl al
mov byte [esp + 0x182], al
mov cl, byte [esp + 0x182]
mov al, byte [esp + 0x183]
and al, cl
mov byte [esp + 0x181], al
mov cl, byte [esp + 0x182]
mov al, byte [esp + 0x183]
xor al, cl
mov byte [esp + 0x180], al
mov cl, byte [esp + 0x180]
mov al, byte [esp + 0x181]
or al, cl
test al, 1
jne 0x10043c18
jmp 0x100441e7
mov eax, dword [0x10069328]
mov dword [eax + 0x16a21589], 1
mov eax, dword [0x1006ace0]
mov dword [esp + 0x174], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x178], ecx
add eax, 0xed4e7f61
sub eax, 1
sub eax, 0xed4e7f61
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x178]
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x174]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x170], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x171], al
xor cl, 0xff
mov byte [esp + 0x172], cl
xor al, 0xff
mov byte [esp + 0x173], al
mov al, 1
xor al, 0
mov byte [esp + 0x16f], al
mov cl, byte [esp + 0x173]
mov al, byte [esp + 0x172]
mov bl, byte [esp + 0x16f]
mov ch, byte [esp + 0x171]
mov dh, byte [esp + 0x170]
mov dl, al
and dl, 0
and dh, bl
mov ah, cl
and ah, 0
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [esp + 0x16d], dl
or al, cl
mov byte [esp + 0x16e], al
mov al, byte [esp + 0x16d]
mov dl, byte [esp + 0x16f]
mov cl, byte [esp + 0x16e]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x10043d1a
jmp 0x100441e7
mov eax, dword [0x1006ace0]
mov dword [esp + 0x160], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x164], ecx
add eax, 0x9af82aed
sub eax, 1
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x168]
sub ecx, 0x9af82aed
imul eax, ecx
mov dword [esp + 0x15c], eax
mov ecx, dword [esp + 0x164]
mov eax, dword [esp + 0x15c]
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x159], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0x15a], cl
xor al, 0xff
mov byte [esp + 0x15b], al
mov al, byte [esp + 0x159]
mov dl, byte [esp + 0x15b]
mov cl, byte [esp + 0x15a]
xor cl, 0xff
mov byte [esp + 0x155], cl
mov cl, 1
xor cl, 1
mov byte [esp + 0x156], cl
and dl, 0xff
mov byte [esp + 0x157], dl
and al, cl
mov byte [esp + 0x158], al
mov cl, byte [esp + 0x155]
mov al, byte [esp + 0x15b]
mov dh, byte [esp + 0x158]
mov dl, byte [esp + 0x157]
mov bl, byte [esp + 0x156]
mov ch, byte [esp + 0x15a]
mov ah, cl
and ah, 0xff
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [esp + 0x153], dl
or al, cl
mov byte [esp + 0x154], al
mov al, byte [esp + 0x153]
mov dl, byte [esp + 0x156]
mov cl, byte [esp + 0x154]
xor cl, 0xff
or dl, 1
and cl, dl
or al, cl
test al, 1
jne 0x10043e45
jmp 0x100446bd
mov eax, dword [0x1006ace0]
mov dword [esp + 0x14c], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0x144], eax
xor eax, eax
sub eax, 1
mov dword [esp + 0x148], eax
mov ecx, dword [esp + 0x148]
mov eax, dword [esp + 0x14c]
add eax, ecx
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x14c]
imul eax, ecx
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x13c]
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x13a], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x13b], al
mov dl, byte [esp + 0x13b]
mov cl, byte [esp + 0x13a]
mov al, cl
and al, dl
xor cl, dl
or al, cl
test al, 1
jne 0x10043ee6
jmp 0x100446bd
jmp 0x10043eeb
mov eax, dword [0x1006ace0]
mov dword [esp + 0x134], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0x12c], eax
xor eax, eax
sub eax, 1
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x134]
mov edx, dword [esp + 0x130]
mov ecx, eax
add ecx, edx
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x12b], al
mov al, byte [esp + 0x12b]
mov ecx, dword [esp + 0x12c]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [esp + 0x129], dl
xor al, cl
mov byte [esp + 0x12a], al
mov cl, byte [esp + 0x12a]
mov al, byte [esp + 0x129]
or al, cl
mov byte [esp + 0x128], al
mov al, byte [esp + 0x128]
test al, 1
jne 0x10043f87
jmp 0x1004497d
mov eax, dword [0x1006ace0]
mov dword [esp + 0x120], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x120]
add eax, 0xcb7de841
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x11c]
sub eax, 1
sub eax, 0xcb7de841
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x124]
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x120]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x116], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x117], al
mov dl, byte [esp + 0x117]
mov cl, byte [esp + 0x116]
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0x115], al
mov al, byte [esp + 0x115]
test al, 1
jne 0x1004402e
jmp 0x1004497d
add esp, 0x2a4
pop esi
pop ebx
ret
mov eax, dword [0x1006ace0]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x108], ecx
mov ecx, eax
add ecx, 0x75e41b91
sub ecx, 1
sub ecx, 0x75e41b91
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x10f], al
mov cl, byte [esp + 0x10f]
mov eax, dword [esp + 0x108]
cmp eax, 0xa
setl al
mov byte [esp + 0x105], al
xor cl, 0xff
mov byte [esp + 0x106], cl
xor al, 0xff
mov byte [esp + 0x107], al
mov al, byte [esp + 0x106]
mov cl, 1
xor cl, 0
mov byte [esp + 0x103], cl
and al, 0
mov byte [esp + 0x104], al
mov al, byte [esp + 0x104]
mov ch, byte [esp + 0x103]
mov dl, byte [esp + 0x105]
mov cl, byte [esp + 0x107]
mov ah, byte [esp + 0x10f]
and ah, ch
and cl, 0
and dl, ch
or al, ah
or cl, dl
xor al, cl
mov byte [esp + 0x102], al
mov al, byte [esp + 0x102]
mov dl, byte [esp + 0x103]
mov ah, byte [esp + 0x107]
mov cl, byte [esp + 0x106]
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x10044131
jmp 0x10044982
mov eax, dword [0x10069328]
add eax, 0x16a21589
mov eax, dword [0x1006ace0]
mov dword [esp + 0xf4], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0xf8], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0xfc]
mov eax, dword [esp + 0xf4]
imul eax, ecx
mov dword [esp + 0xf0], eax
mov ecx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf0]
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0xed], al
cmp ecx, 0xa
setl cl
mov byte [esp + 0xee], cl
and al, cl
mov byte [esp + 0xef], al
mov al, byte [esp + 0xef]
mov dl, byte [esp + 0xee]
mov cl, byte [esp + 0xed]
xor cl, dl
or al, cl
mov byte [esp + 0xec], al
mov al, byte [esp + 0xec]
test al, 1
jne 0x100441e2
jmp 0x10044982
jmp 0x1004336e
mov eax, dword [0x1006ace0]
mov dword [esp + 0xe4], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0xe8], eax
xor eax, eax
sub eax, 1
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xe4]
add eax, ecx
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0xdc]
mov eax, dword [esp + 0xe4]
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0xdb], al
mov al, byte [esp + 0xdb]
mov ecx, dword [esp + 0xe8]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [esp + 0xd9], dl
xor al, cl
mov byte [esp + 0xda], al
mov cl, byte [esp + 0xda]
mov al, byte [esp + 0xd9]
or al, cl
test al, 1
jne 0x10044288
jmp 0x100447b3
mov eax, dword [0x10069328]
mov dword [eax + 0x16a21589], 1
mov eax, dword [0x1006ace0]
mov dword [esp + 0xcc], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0xd0], ecx
sub eax, 0x7e283f02
sub eax, 1
add eax, 0x7e283f02
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xcc]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0xc8], cl
cmp eax, 0xa
setl al
mov byte [esp + 0xc9], al
xor cl, 0xff
mov byte [esp + 0xca], cl
xor al, 0xff
mov byte [esp + 0xcb], al
mov al, byte [esp + 0xca]
mov cl, 1
xor cl, 1
mov byte [esp + 0xc6], cl
and al, 0xff
mov byte [esp + 0xc7], al
mov cl, byte [esp + 0xcb]
mov al, byte [esp + 0xca]
mov dl, byte [esp + 0xc7]
mov bl, byte [esp + 0xc6]
mov ch, byte [esp + 0xc9]
mov dh, byte [esp + 0xc8]
and dh, bl
mov ah, cl
and ah, 0xff
and ch, bl
or dl, dh
or ah, ch
xor dl, ah
mov byte [esp + 0xc4], dl
or al, cl
mov byte [esp + 0xc5], al
mov al, byte [esp + 0xc6]
mov cl, byte [esp + 0xc5]
xor cl, 0xff
mov byte [esp + 0xc2], cl
or al, 1
mov byte [esp + 0xc3], al
mov al, byte [esp + 0xc4]
mov dl, byte [esp + 0xc3]
mov cl, byte [esp + 0xc2]
and cl, dl
or al, cl
test al, 1
jne 0x100443b8
jmp 0x100447b3
mov eax, dword [0x1006ace0]
mov dword [esp + 0xb4], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0xb8], ecx
xor ecx, ecx
sub ecx, 1
add eax, ecx
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb4]
imul eax, ecx
and eax, 1
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0xb0]
cmp eax, 0
sete al
mov byte [esp + 0xaf], al
mov eax, dword [esp + 0xb8]
cmp eax, 0xa
setl al
mov byte [esp + 0xae], al
mov al, byte [esp + 0xae]
mov cl, byte [esp + 0xaf]
xor cl, 0xff
mov byte [esp + 0xac], cl
xor al, 0xff
mov byte [esp + 0xad], al
mov ah, byte [esp + 0xad]
mov cl, byte [esp + 0xac]
mov dh, byte [esp + 0xae]
mov bl, byte [esp + 0xaf]
mov dl, 1
xor dl, 0
mov al, cl
and al, 0
and bl, dl
mov ch, ah
and ch, 0
and dh, dl
or al, bl
or ch, dh
xor al, ch
or cl, ah
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x10044490
jmp 0x100449a3
mov eax, dword [0x1006ace0]
mov dword [esp + 0xa8], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0xa0], eax
xor eax, eax
sub eax, 1
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa8]
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
and al, dl
xor cl, dl
or al, cl
mov byte [esp + 0x9b], al
mov al, byte [esp + 0x9b]
test al, 1
jne 0x10044515
jmp 0x100449a3
jmp 0x10043c18
mov eax, dword [0x10069328]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x94]
add eax, 0x16a21589
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x90]
mov eax, dword [eax]
jmp 0x10043405
mov eax, dword [0x1006ace0]
mov dword [esp + 0x88], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x88]
mov ecx, eax
add ecx, 0x988e649f
sub ecx, 1
sub ecx, 0x988e649f
imul eax, ecx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x83], al
mov al, byte [esp + 0x83]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0xa
setl cl
mov byte [esp + 0x81], cl
and al, cl
mov byte [esp + 0x82], al
mov al, byte [esp + 0x82]
mov dl, byte [esp + 0x81]
mov cl, byte [esp + 0x83]
xor cl, dl
or al, cl
mov byte [esp + 0x80], al
mov al, byte [esp + 0x80]
test al, 1
jne 0x100445f0
jmp 0x100449a8
mov eax, dword [0x1006ace0]
mov dword [esp + 0x74], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x78], ecx
sub eax, 0xb40dfbb3
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x7c]
sub eax, 1
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
add ecx, 0xb40dfbb3
imul eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
xor al, 0xff
mov byte [esp + 0x66], al
mov ch, dl
xor ch, 0xff
mov byte [esp + 0x67], ch
mov ah, 1
xor ah, 1
mov byte [esp + 0x68], ah
and al, 0xff
and cl, ah
and ch, 0xff
mov byte [esp + 0x69], ch
and dl, ah
mov byte [esp + 0x6a], dl
or al, cl
mov byte [esp + 0x6b], al
mov cl, byte [esp + 0x68]
mov dl, byte [esp + 0x67]
mov al, byte [esp + 0x66]
mov ah, byte [esp + 0x6b]
mov dh, byte [esp + 0x6a]
mov ch, byte [esp + 0x69]
or ch, dh
xor ah, ch
mov byte [esp + 0x64], ah
or al, dl
xor al, 0xff
or cl, 1
and al, cl
mov byte [esp + 0x65], al
mov cl, byte [esp + 0x65]
mov al, byte [esp + 0x64]
or al, cl
test al, 1
jne 0x100446b8
jmp 0x100449a8
jmp 0x1004391e
mov eax, dword [0x1006ace0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x58], ecx
sub eax, 0x54691d52
sub eax, 1
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
add ecx, 0x54691d52
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x57], al
mov al, byte [esp + 0x57]
mov ecx, dword [esp + 0x58]
cmp ecx, 0xa
setl cl
mov byte [esp + 0x55], cl
and al, cl
mov byte [esp + 0x56], al
mov al, byte [esp + 0x56]
mov dl, byte [esp + 0x55]
mov cl, byte [esp + 0x57]
xor cl, dl
or al, cl
mov byte [esp + 0x54], al
mov al, byte [esp + 0x54]
test al, 1
jne 0x1004473b
jmp 0x100449ad
mov eax, dword [0x1006ace0]
mov dword [esp + 0x50], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x50]
sub eax, 0xeb050d47
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
sub ecx, 1
add ecx, 0xeb050d47
imul eax, ecx
and eax, 1
cmp eax, 0
sete al
mov byte [esp + 0x47], al
mov al, byte [esp + 0x47]
mov ecx, dword [esp + 0x4c]
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
mov byte [esp + 0x45], dl
xor al, cl
mov byte [esp + 0x46], al
mov cl, byte [esp + 0x46]
mov al, byte [esp + 0x45]
or al, cl
test al, 1
jne 0x100447ae
jmp 0x100449ad
jmp 0x10043e45
mov eax, dword [0x1006ace0]
mov dword [esp + 0x38], eax
mov ecx, dword [0x1006acdc]
mov dword [esp + 0x3c], ecx
add eax, 0xcf59ed06
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
sub edx, 1
sub edx, 0xcf59ed06
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
mov byte [esp + 0x33], cl
cmp eax, 0xa
setl al
mov byte [esp + 0x34], al
xor cl, 0xff
mov byte [esp + 0x35], cl
xor al, 0xff
mov byte [esp + 0x36], al
mov al, 1
xor al, 1
mov byte [esp + 0x37], al
mov ch, byte [esp + 0x37]
mov cl, byte [esp + 0x34]
mov al, byte [esp + 0x36]
mov ah, byte [esp + 0x33]
mov dl, byte [esp + 0x35]
and dl, 0xff
and ah, ch
and al, 0xff
and cl, ch
or dl, ah
mov byte [esp + 0x31], dl
or al, cl
mov byte [esp + 0x32], al
mov cl, byte [esp + 0x36]
mov al, byte [esp + 0x35]
mov ah, byte [esp + 0x32]
mov dl, byte [esp + 0x31]
xor dl, ah
mov byte [esp + 0x2f], dl
or al, cl
xor al, 0xff
mov byte [esp + 0x30], al
mov al, byte [esp + 0x2f]
mov cl, byte [esp + 0x30]
mov dl, byte [esp + 0x37]
or dl, 1
and cl, dl
or al, cl
mov byte [esp + 0x2e], al
mov al, byte [esp + 0x2e]
test al, 1
jne 0x10044882
jmp 0x100449b2
mov eax, dword [0x10069328]
add eax, 0x16a21589
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
mov dword [eax], 1
mov eax, dword [0x1006ace0]
mov dword [esp + 0x24], eax
mov eax, dword [0x1006acdc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, ecx
sub edx, 0x18d55181
sub edx, 1
add edx, 0x18d55181
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
cmp eax, 0xa
setl dl
mov al, cl
xor al, 0xff
mov byte [esp + 0x1a], al
mov ch, dl
xor ch, 0xff
mov byte [esp + 0x1b], ch
mov ah, 1
xor ah, 0
mov byte [esp + 0x1c], ah
and al, 0
and cl, ah
and ch, 0
mov byte [esp + 0x1d], ch
and dl, ah
mov byte [esp + 0x1e], dl
or al, cl
mov byte [esp + 0x1f], al
mov cl, byte [esp + 0x1b]
mov al, byte [esp + 0x1a]
mov dl, byte [esp + 0x1f]
mov ch, byte [esp + 0x1e]
mov ah, byte [esp + 0x1d]
or ah, ch
xor dl, ah
mov byte [esp + 0x18], dl
or al, cl
mov byte [esp + 0x19], al
mov al, byte [esp + 0x18]
mov dl, byte [esp + 0x1c]
mov cl, byte [esp + 0x19]
xor cl, 0xff
or dl, 0
and cl, dl
or al, cl
test al, 1
jne 0x1004494d
jmp 0x100449b2
jmp 0x10044288
jmp 0x10043197
mov eax, dword [0x10069328]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add eax, 0x16a21589
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
jmp 0x10043524
jmp 0x100439b8
jmp 0x10043f87
mov eax, dword [0x10069328]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add eax, 0x16a21589
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov eax, dword [eax]
jmp 0x10044131
jmp 0x10044490
jmp 0x100445f0
jmp 0x1004473b
mov eax, dword [0x10069328]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add eax, 0x16a21589
mov dword [esp], eax
mov eax, dword [esp]
mov dword [eax], 1
jmp 0x10044882