Function at 0x4074b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x48
mov eax, dword [0x472ca0]
mov esi, dword [esp + 0x5c]
mov ebp, ecx
xor eax, esp
mov edx, esi
mov edi, esi
mov dword [esp + 0x44], eax
mov eax, esi
and edx, 0x601a68d7
and edi, 0x751cb69c
mov dword [esp + 0x1c], 0x7fffffff
not eax
mov ecx, eax
and ecx, 0x9fe59728
or edx, ecx
xor edx, 0x601a68d8
mov ecx, edx
xor ecx, eax
and eax, 0x8ae34963
or edi, eax
and ecx, edx
mov eax, edi
and edi, 0x751cb693
not eax
and eax, 0x8ae3496c
or edi, eax
mov eax, ecx
mov esi, edi
not eax
not esi
and edi, eax
or eax, esi
and esi, ecx
not eax
or esi, edi
mov ecx, eax
and ecx, esi
xor esi, eax
mov eax, 0x679af0a1
or esi, ecx
mov dword [esp + 0x10], esi
nop word cs:[eax + eax]
nop
cmp eax, 0x149f36f4
jle 0x407590
cmp eax, 0x33330b4d
jle 0x4077e0
cmp eax, 0x33330b4e
je 0x408179
cmp eax, 0x62665d0e
je 0x407bec
cmp eax, 0x679af0a1
jne 0x407540
mov eax, dword [esp + 0x1c]
mov ecx, 0x9db48f2
cmp eax, dword [esp + 0x5c]
mov eax, 0x62665d0e
cmovb eax, ecx
cmp eax, 0x149f36f4
jg 0x407547
nop dword [eax + eax]
cmp eax, 0xf66e4e57
jg 0x4077a0
cmp eax, 0xa3719e9a
je 0x408469
cmp eax, 0xee97ce48
jne 0x40844c
mov eax, dword [esp + 0x20]
mov ecx, dword [0x473604]
lea esi, [ecx - 1]
imul esi, ecx
mov ecx, esi
mov ebx, esi
not ecx
and ebx, 0x9b6f6b81
mov edx, ecx
and ecx, 0x6490947e
and edx, esi
or ecx, ebx
mov edi, edx
and edx, 0x6490947e
not edi
or esi, edi
and edi, 0x9b6f6b81
or edx, edi
not esi
xor edx, ecx
or esi, edx
mov ecx, esi
mov edx, esi
xor ecx, 0x92bea7bf
not edx
mov edi, ecx
and ecx, esi
and esi, 0xc8fffa9d
and edi, edx
mov ebx, edi
and ebx, ecx
xor ecx, edi
or ecx, ebx
mov edi, ecx
and ecx, 0xe21d5e7
not edi
and edi, 0xf1de2a18
or ecx, edi
mov edi, edx
and edx, 1
and edi, 0x37000562
or edi, esi
mov esi, ecx
xor ecx, 0x63608da6
xor edi, 0xc8fffa9c
xor esi, 0x84007010
or edx, edi
and esi, 0xe620f434
mov edi, edx
and edx, 0x3d01f42f
not edi
and edi, 0xc2fe0bd0
or edx, edi
mov edi, ecx
and edi, 0x19df0bcb
or esi, edi
mov edi, edx
xor edx, 0xc2fe0bd0
xor edi, 0x2400f424
or ecx, edx
and edx, 0x19df0bcb
and edi, 0xe620f434
not ecx
or edi, edx
xor edi, esi
or ecx, edi
mov edi, 0xaa3383e1
mov edx, ecx
or ecx, 0x2ff59e30
mov esi, ecx
not edx
and ecx, 0x845d54cb
not esi
or edx, 0xd00a61cf
and esi, 0x50022104
or esi, ecx
mov ecx, edx
and edx, 0x845d54cb
not ecx
and ecx, 0x2ba08a30
or ecx, edx
xor ecx, esi
mov esi, dword [0x473608]
mov edx, ecx
and ecx, 0xd00a61cf
not edx
and edx, 0x2ff59e30
or ecx, edx
mov edx, ecx
and ecx, 0x6b8a7138
not edx
and edx, 0x94758ec7
or edx, ecx
mov ecx, edx
xor edx, 0x84618c01
xor ecx, 0x430a5110
and edx, 0xace1ac29
and ecx, 0x531e53d6
or ecx, edx
xor ecx, 0x531e53d6
sete cl
setne ch
sete byte [esp + 0x38]
cmp esi, 9
setg dl
cmp esi, 0xa
mov esi, 0xaa3383e1
setl dh
setl byte [esp + 0x3c]
and ch, dl
and dh, cl
or dh, ch
mov ch, dh
xor ch, dl
xor dl, cl
mov cl, dl
and ch, dh
xor cl, 1
and dl, cl
mov dh, dl
xor dl, cl
and dh, cl
or dl, dh
mov dh, ch
xor dh, cl
or cl, ch
xor dl, ch
xor cl, 1
or cl, dh
mov dh, cl
xor dh, dl
test cl, 1
mov ecx, 0x8b34e61e
cmovne ecx, edi
test dl, dl
cmove ecx, edi
test dh, 1
mov edx, 0x8b34e61e
cmove ecx, edx
mov edx, 0x3cc0b2c1
cmp edx, 0xaa3383e0
jle 0x4079f8
jmp 0x407a10
cmp eax, 0x9db48f2
je 0x407a9b
cmp eax, 0x13d11189
jne 0x408459
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ecx, dword [esi]
mov edx, dword [esp + 0x28]
inc eax
mov edx, 0x605e9add
mov dword [esp + 0x3c], eax
cmp edx, 0x91834ce6
jne 0x4078ec
jmp 0x40828e
cmp eax, 0x149f36f5
je 0x407bd7
cmp eax, 0x325ba1c1
jne 0x407540
mov ecx, dword [0x47360c]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
mov esi, eax
not ecx
or edx, 0x9e3266e1
xor esi, 0x61cd991e
mov edi, edx
mov ebx, ecx
and esi, eax
and edi, 0x45d07c8f
and ebx, 0x200d8110
or ebx, edi
mov edi, esi
and esi, 0xba2f8370
not edi
or edx, edi
and edi, 0x45d07c8f
or esi, edi
not edx
xor esi, ebx
or edx, esi
mov esi, edx
and edx, 0x61cd991f
not esi
and esi, 0x9e3266e0
or edx, esi
mov esi, edx
and edx, eax
not esi
and ecx, esi
or edx, ecx
xor esi, edx
test esi, edx
sete al
setne cl
cmp dword [0x473610], 0xa
setl dl
mov ah, dl
xor cl, dl
or ah, al
xor cl, 1
xor al, dl
xor ah, 1
mov edx, eax
or ah, cl
mov cl, ah
xor dl, ah
xor cl, 1
xor dl, 1
mov ch, cl
and ch, ah
xor ch, 1
mov dh, ch
or ch, ah
xor dh, ah
xor ch, 1
or ch, dh
xor ch, al
or al, cl
xor al, 1
or al, dl
mov edx, 0x33330b4e
mov cl, al
xor cl, ch
test al, 1
mov eax, 0x13d11189
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0x13d11189
jmp 0x408414
mov ecx, dword [esp + 0x40]
mov edx, 0x91834ce6
nop dword [eax]
cmp edx, 0x91834ce6
je 0x40828e
cmp edx, 0xe764d015
je 0x407920
cmp edx, 0x605e9add
jne 0x4078e0
mov edx, dword [esp + 0x3c]
mov edi, 0xe764d015
cmp edx, 0xfff
mov edx, 0x91834ce6
cmova edx, edi
cmp edx, 0x91834ce6
jne 0x4078ec
jmp 0x40828e
mov edx, dword [ecx - 4]
add eax, 0x23
mov dword [esp + 0x40], edx
mov edx, 0x99b5f5c6
sub ecx, dword [esp + 0x40]
cmp ecx, 3
seta byte [esp + 0x34]
cmp ecx, 0x24
setb byte [esp + 0x38]
cmp edx, 0x99b5f5c6
jne 0x4079c2
movzx edx, byte [esp + 0x34]
mov ch, byte [esp + 0x38]
mov edi, 0x61a93141
mov ebx, 0xf7bb5b6
mov dh, dl
xor dh, 1
mov cl, dh
and cl, dl
xor dh, cl
xor cl, 1
or cl, dl
xor cl, 1
or cl, dh
mov dh, cl
mov dl, cl
xor dh, ch
xor dl, 1
and dh, cl
and cl, ch
xor ch, 1
and ch, dl
mov dl, dh
or cl, ch
xor dl, 1
xor dh, cl
xor cl, 1
or cl, dl
xor cl, 1
or cl, dh
mov ch, cl
xor ch, 1
mov dl, ch
and dl, cl
xor ch, dl
test dl, 1
mov edx, 0xf7bb5b6
cmovne edx, edi
test cl, 1
cmovne edx, ebx
test ch, 1
cmovne edx, edi
cmp edx, 0x99b5f5c6
je 0x40794b
cmp edx, 0x61a93141
je 0x4078d0
cmp edx, 0xf7bb5b6
jne 0x407943
jmp 0x408484
mov dword [esp + 0x40], eax
mov edx, ecx
nop word cs:[eax + eax]
nop
cmp edx, 0xaa3383e0
jg 0x407a10
cmp edx, 0x8484fd6e
je 0x4079df
cmp edx, 0x8b34e61e
jne 0x4079f0
jmp 0x407bcd
cmp edx, 0xaa3383e1
je 0x407a85
cmp edx, 0x3cc0b2c1
jne 0x4079f0
movzx edx, byte [esp + 0x38]
mov dh, byte [esp + 0x3c]
mov edi, 0x8484fd6e
mov bl, dh
xor dl, 1
xor bl, 1
mov bh, dl
and bh, bl
xor bl, dl
or bl, bh
mov bh, dl
or dl, dh
xor bh, dh
xor dl, 1
xor bh, 1
and bh, dh
mov dh, bh
and dh, dl
xor dl, bh
mov bh, bl
or dl, dh
xor dl, 1
or bh, dl
xor dl, bl
mov bl, bh
xor bl, dl
test dl, 1
mov edx, 0xaa3383e1
cmovne edx, edi
test bh, 1
cmovne edx, esi
test bl, 1
cmove edx, edi
cmp edx, 0xaa3383e0
jg 0x407a10
jmp 0x4079f8
mov edx, 0x8484fd6e
cmp edx, 0xaa3383e0
jg 0x407a10
jmp 0x4079f8
mov eax, dword [0x47360c]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
mov edi, ecx
not edx
and eax, 0x7810ae19
xor edi, 0xfffffffe
mov esi, edx
and edi, ecx
and edx, 0xdba29ef
and ecx, 0xf245d610
and esi, 0x87ef51e6
or ecx, edx
or eax, esi
mov esi, eax
xor eax, 0x87ef51e6
or eax, 1
xor esi, 0x50108400
mov ebx, eax
and esi, 0xd5b3c480
and ebx, 0x2a4c3b7e
or esi, ebx
mov ebx, edi
and edi, 0xd5b3c481
not ebx
or eax, ebx
and ebx, 0x2a4c3b7e
or edi, ebx
not eax
xor edi, esi
or eax, edi
mov edi, 0xf66e4e58
mov esi, eax
and eax, 0x461fec0e
not esi
and esi, 0xb9e013f1
or eax, esi
mov esi, eax
xor eax, 0xb9e013f1
xor esi, 0x16600a
mov edx, eax
and edx, 0x7f098d45
and esi, 0x80f672ba
or esi, edx
mov edx, ecx
xor ecx, 0xdba29ef
xor edx, 0x80445210
or eax, ecx
and ecx, 0x7f098d45
and edx, 0x80f672ba
not eax
or edx, ecx
xor edx, esi
mov esi, 0xdd1d0a89
or eax, edx
mov ecx, eax
and eax, 0x13b86592
not ecx
and ecx, 0xec479a6d
or eax, ecx
xor eax, 0x13b86592
sete al
setne cl
cmp dword [0x473610], 0xa
setl dl
mov ah, dl
xor cl, dl
xor dl, al
or ah, al
xor cl, 1
xor dl, 1
xor ah, 1
or ah, cl
mov cl, ah
or cl, dl
xor dl, ah
mov eax, 0xdd1d0a89
mov ch, dl
xor ch, cl
test dl, dl
cmovne eax, edi
test cl, cl
cmovne eax, esi
test ch, ch
cmove eax, edi
cmp eax, 0x149f36f4
jg 0x407547
jmp 0x407590
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov eax, 0xa3719e9a
cmp eax, 0x149f36f4
jg 0x407547
jmp 0x407590
mov dword [esp + 0x20], ebp
mov eax, dword [esp + 0x20]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x14]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x30]
mov edx, dword [ebp + 0x14]
mov dword [esp + 0x34], eax
mov ebp, 0xee600a09
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov dword [esp], edx
shr edx, 1
mov dword [esp + 0x14], edx
mov dword [esp + 4], eax
mov dword [esp + 0x30], eax
cmp ebp, 0x3b42f40d
jg 0x407c58
jmp 0x407cc0
mov ebp, 0xf1bf6e6c
nop word cs:[eax + eax]
cmp ebp, 0x3b42f40d
jle 0x407cc0
cmp ebp, 0x4270f93c
jle 0x407c80
cmp ebp, 0x4270f93d
je 0x407ce0
cmp ebp, 0x712d51d4
je 0x407c41
cmp ebp, 0x51a40783
jne 0x407c50
jmp 0x40803d
cmp ebp, 0x3b42f40e
je 0x407ea3
cmp ebp, 0x3b438132
jne 0x407c50
mov eax, dword [esp + 0x14]
mov edx, 0x7fffffff
mov ebp, 0x3b42f40e
mov dword [esp + 0x3c], eax
mov eax, 0x4270f93d
sub edx, dword [esp + 0x3c]
cmp edx, dword [esp]
cmovb ebp, eax
cmp ebp, 0x3b42f40d
jg 0x407c58
nop dword [eax]
cmp ebp, 0xf1bf6e6b
jg 0x407d00
cmp ebp, 0xee600a09
je 0x407ec9
cmp ebp, 0xef0a85a9
jne 0x407c50
mov ebp, 0xfa1b5a38
mov edi, 0x7fffffff
cmp ebp, 0x3b42f40d
jg 0x407c58
jmp 0x407cc0
cmp ebp, 0xf1bf6e6c
je 0x407eec
cmp ebp, 0xfa1b5a38
jne 0x407c50
mov dword [esp + 0x40], edi
mov eax, 0x712d51d4
mov edx, dword [esp + 0x34]
mov edx, dword [0x473614]
lea esi, [edx - 1]
imul esi, edx
mov ebx, esi
or esi, 0x90806104
not ebx
and esi, 0xd0c27774
mov ebp, ebx
and ebx, 0xa380003
or ebp, 0x4a7a1673
or ebx, esi
mov edx, ebp
and ebp, 0xd0c27774
not edx
and edx, 0x25058888
or edx, ebp
xor edx, ebx
mov esi, edx
and edx, 0xd00279f
not esi
and esi, 0xf2ffd860
or edx, esi
mov esi, edx
xor edx, 0xb885ce12
xor esi, 0x477a31ec
and edx, 0xfffffffe
mov ebx, esi
and esi, 1
and ebx, 0xfffffffe
or esi, edx
mov edx, ebx
and edx, esi
xor esi, ebx
or esi, edx
mov ebx, esi
xor ebx, 0xceb08342
and ebx, esi
or esi, 0x314f7cbd
mov edx, esi
mov ebp, esi
not edx
and ebp, 0x212115a4
and edx, 0xce908242
or edx, ebp
mov ebp, ebx
and ebx, 0xdedeea5b
not ebp
or esi, ebp
and ebp, 0x212115a4
or ebx, ebp
not esi
mov ebp, 0xf1bf6e6c
xor ebx, edx
mov edx, dword [0x473618]
or esi, ebx
mov ebx, esi
and esi, 0xceb08342
not ebx
and ebx, 0x314f7cbd
or esi, ebx
mov ebx, esi
and esi, 0x5e44c160
not ebx
and ebx, 0xa1bb3e9f
or esi, ebx
mov ebx, esi
xor esi, 0xa0a33e08
xor ebx, 0x4404c040
and esi, 0xbae33f28
and ebx, 0x451cc0d7
or ebx, esi
xor ebx, 0x451cc0d7
setne bl
sete bh
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
or cl, bl
mov ch, dl
xor ch, bh
mov dh, ch
xor dh, dl
or dl, bh
and dh, ch
mov ch, cl
xor ch, dl
or dl, cl
mov cl, dh
xor cl, 1
xor dl, 1
mov ebx, ecx
mov bh, cl
or dl, ch
and bl, dh
mov ch, dl
and bh, bl
xor bl, cl
xor ch, cl
or bl, bh
xor ch, 1
xor bl, dl
or dl, dh
xor dl, 1
mov cl, bl
or dl, ch
xor cl, dl
test dl, 1
cmovne ebp, eax
test bl, 1
not cl
cmovne ebp, eax
test cl, 1
mov ecx, 0xf1bf6e6c
cmove ebp, ecx
cmp ebp, 0x3b42f40d
jg 0x407c58
jmp 0x407cc0
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 4]
mov ebp, 0xfa1b5a38
add edi, dword [esp]
cmp eax, edi
cmovae edi, eax
cmp ebp, 0x3b42f40d
jg 0x407c58
jmp 0x407cc0
cmp dword [esp + 0x38], 0
mov ebp, 0x3b438132
mov eax, 0xef0a85a9
cmovs ebp, eax
cmp ebp, 0x3b42f40d
jg 0x407c58
jmp 0x407cc0
mov ecx, dword [0x473614]
mov esi, dword [0x473618]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ebp, eax
or edx, 1
not ebp
mov ecx, edx
mov ebx, ebp
and edx, 0x1aeeb1b
and ebp, 0xe82a52a8
not ecx
or ebx, 0x1aeeb1a
and ecx, 0xfe5114e4
and ebx, 0x1aeeb1b
or ecx, edx
xor ebx, ecx
mov ecx, ebx
and ebx, 0xa9cfc0fd
not ecx
and ecx, 0x56303f02
or ebx, ecx
mov ecx, ebx
xor ebx, 0x56303f02
mov edx, ebx
xor ecx, 0xa80a40a8
or ebx, eax
and eax, 0x17d5ad57
and edx, 0x17d5ad57
and ecx, 0xe82a52a8
or ebp, eax
not ebx
or ecx, edx
xor ebp, ecx
or ebx, ebp
mov ebp, 0x51a40783
mov eax, ebx
and ebx, 0x5a311625
not eax
and eax, 0xa5cee9da
or ebx, eax
xor ebx, 0x5a311625
setne al
sete dl
cmp esi, 9
setg cl
cmp esi, 0xa
mov ah, al
mov esi, 0x51a40783
setl bh
xor ah, dl
and ah, al
mov bl, ah
not bl
and bl, ah
mov al, bl
xor bl, ah
and al, ah
or bl, al
mov al, bh
xor al, bl
not al
and al, bl
or bl, bh
xor bh, dl
xor bl, 1
mov ah, al
and ah, bl
xor bl, al
mov al, cl
xor al, dl
or bl, ah
and al, cl
mov ecx, eax
and cl, bh
xor bh, al
or bh, cl
mov al, bh
xor al, 1
mov edx, eax
and dl, bh
xor al, dl
xor dl, 1
or dl, bh
xor dl, 1
or dl, al
mov eax, edx
xor al, 1
and dl, al
mov ecx, eax
and cl, dl
xor dl, al
or dl, cl
mov ecx, edx
xor dl, 1
and cl, bl
xor bl, 1
and dl, bl
or dl, cl
mov ecx, ebx
xor bl, al
and cl, al
or bl, cl
mov ecx, 0x712d51d4
mov eax, ebx
xor al, dl
test al, 1
cmovne esi, ecx
test bl, 1
cmovne ebp, esi
test dl, 1
cmove ebp, esi
cmp ebp, 0x3b42f40d
jg 0x407c58
jmp 0x407cc0
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 8]
mov ecx, 0xa712816a
mov ebp, 0x63724eb2
mov esi, 0x54b3902b
mov dword [esp + 0x28], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp], ebx
inc ebx
mov eax, dword [esp + 0x28]
mov eax, 0x941a9a22
cmove ecx, eax
cmp ebx, 0xfff
mov eax, 0xf51bef1a
cmova ebp, eax
mov dword [esp + 4], ecx
cmp esi, 0xf51bef19
jg 0x4080e0
jmp 0x4080a8
mov esi, ebp
nop word cs:[eax + eax]
nop dword [eax]
cmp esi, 0xf51bef19
jg 0x4080e0
cmp esi, 0x941a9a22
je 0x4080cf
cmp esi, 0xa712816a
je 0x4080c2
cmp esi, 0xd734434e
jne 0x4080a0
jmp 0x408120
mov esi, 0xd734434e
push ebx
call fcn.0040a65e
jmp 0x408103
mov esi, 0xd734434e
xor edi, edi
cmp esi, 0xf51bef19
jle 0x4080a8
nop
cmp esi, 0x63724eb2
je 0x408112
cmp esi, 0x54b3902b
je 0x408090
cmp esi, 0xf51bef1a
jne 0x4080a0
mov esi, 0xd734434e
push ebx
call fcn.004084a0
add esp, 4
mov edi, eax
cmp esi, 0xf51bef19
jle 0x4080a8
jmp 0x4080e0
mov esi, dword [esp + 4]
cmp esi, 0xf51bef19
jle 0x4080a8
jmp 0x4080e0
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov edx, dword [esp]
mov esi, ecx
mov dword [eax + 0x10], ecx
mov eax, dword [esp + 0xc]
mov dword [eax + 0x14], edx
push esi
push dword [esp + 0x68]
push edi
call fcn.0040d610
add esp, 0xc
mov byte [edi + esi], 0
mov ecx, 0x325ba1c1
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 8]
cmp eax, 0xf
mov eax, 0xee97ce48
cmova eax, ecx
cmp eax, 0x149f36f4
jg 0x407547
jmp 0x407590
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov ecx, dword [esi]
mov edx, dword [esp + 0x28]
inc eax
mov edx, 0x605e9add
mov dword [esp + 0x3c], eax
cmp edx, 0x91834ce6
jne 0x4081cc
jmp 0x408427
mov ecx, dword [esp + 0x40]
mov edx, 0x91834ce6
nop word [eax + eax]
cmp edx, 0x91834ce6
je 0x408427
cmp edx, 0xe764d015
je 0x408200
cmp edx, 0x605e9add
jne 0x4081c0
mov edx, dword [esp + 0x3c]
mov edi, 0xe764d015
cmp edx, 0xfff
mov edx, 0x91834ce6
cmova edx, edi
cmp edx, 0x91834ce6
jne 0x4081cc
jmp 0x408427
mov edx, dword [ecx - 4]
add eax, 0x23
mov dword [esp + 0x40], edx
sub ecx, dword [esp + 0x40]
cmp ecx, 3
seta byte [esp + 0x34]
cmp ecx, 0x24
mov ecx, 0x99b5f5c6
setb byte [esp + 0x38]
cmp ecx, 0x99b5f5c6
jne 0x408275
movzx ecx, byte [esp + 0x34]
movzx edx, byte [esp + 0x38]
xor dl, 1
mov ch, cl
mov dh, dl
xor ch, 1
xor dh, cl
or ch, dl
and dh, dl
xor ch, 1
mov dl, dh
and dl, ch
xor ch, dh
or ch, dl
mov dl, ch
or ch, cl
xor dl, cl
not ch
or ch, dl
mov edx, 0xf7bb5b6
test ch, 1
mov ecx, 0x61a93141
cmovne ecx, edx
cmovne ecx, edx
cmp ecx, 0x99b5f5c6
je 0x40822b
cmp ecx, 0x61a93141
je 0x4081ae
cmp ecx, 0xf7bb5b6
jne 0x408223
jmp 0x408484
push eax
push ecx
call fcn.0040a693
add esp, 8
mov eax, dword [esp + 0x18]
mov dword [esi], eax
mov ecx, dword [0x47360c]
mov eax, dword [0x473610]
lea edx, [ecx - 1]
imul edx, ecx
mov esi, edx
mov ecx, edx
xor esi, 0x3e18f2b7
and ecx, 0xc53c9b10
and esi, edx
not edx
and edx, 0x3ac364ef
mov edi, esi
and esi, 0x25fc8e39
or ecx, edx
not edi
mov edx, ecx
xor ecx, 0x3a0060a7
or ecx, 0xc1e70d48
xor edx, 0x4188210
mov ebx, ecx
or ecx, edi
and edi, 0xda0371c6
and edx, 0x24188231
and ebx, 0xda0371c6
or esi, edi
not ecx
or edx, ebx
xor esi, edx
or ecx, esi
mov edx, ecx
and ecx, 0x8014aedd
not edx
and edx, 0x7feb5122
or ecx, edx
mov esi, ecx
and ecx, 1
xor esi, 0x41f3a395
mov edx, esi
and esi, 0xfffffffe
or edx, 1
or ecx, esi
mov esi, ecx
mov edi, edx
mov ebx, edx
and ecx, 0x3ab55dda
not edi
not esi
and ebx, 0xc54aa225
or edx, esi
and edi, 0x3ab55dda
and esi, 0xc54aa225
or ecx, esi
or edi, ebx
not edx
mov esi, 0x33330b4e
xor ecx, edi
or edx, ecx
mov ecx, edx
and edx, 0xcaf052db
not ecx
and ecx, 0x350fad24
or edx, ecx
xor edx, 0xcaf052db
setne dl
sete ch
cmp eax, 0xa
setl dh
cmp eax, 9
setg al
and dl, dh
or dh, ch
mov cl, al
mov ah, al
and al, ch
xor dh, 1
xor cl, ch
or al, dl
mov dl, dh
or ah, ch
not cl
and dl, al
xor al, dh
and cl, ch
or al, dl
mov edx, eax
xor cl, 1
mov ebx, ecx
or cl, ah
xor dl, 1
xor bl, ah
xor cl, 1
and al, dl
mov ah, dl
or cl, bl
and ah, al
xor al, dl
or al, ah
mov ah, cl
mov dh, cl
xor ah, 1
mov dl, al
mov ch, ah
xor dl, 1
and ch, cl
xor ah, dl
xor ch, 1
xor dh, ch
or ch, cl
xor ch, 1
or ch, dh
mov dh, ch
and ch, al
or al, cl
xor dh, 1
xor al, 1
and dh, dl
or al, ah
or ch, dh
mov cl, al
mov edx, 0x149f36f5
xor cl, ch
test cl, 1
cmovne edx, esi
test al, 1
mov eax, 0x149f36f5
cmovne eax, edx
test ch, 1
cmove eax, edx
cmp eax, 0x149f36f4
jg 0x407547
jmp 0x407590
push eax
push ecx
call fcn.0040a693
add esp, 8
mov eax, dword [esp + 0x18]
mov dword [esi], eax
mov eax, 0x13d11189
cmp eax, 0x149f36f4
jg 0x407547
jmp 0x407590
cmp eax, 0xdd1d0a89
jne 0x407540
jmp 0x408464
cmp eax, 0xf66e4e58
jne 0x407540
call fcn.00408490
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.0040a6c4
mov eax, ebp
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
call fcn.0040eebe
int3