Function at 0x401de0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov eax, dword [ebp + 8]
mov dword [esp + 0x34], eax
mov eax, dword [0x447834]
xor eax, ebp
mov dword [esp + 0xa0], eax
push dword [ebp + 0xc]
call fcn.004259c0
add esp, 4
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov eax, dword [ebp + 8]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
movsd xmm0, qword [ecx + eax + 0x20]
mov eax, 0x4c10794b
movsd qword [esp + 0x50], xmm0
nop
cmp eax, 0xad550f6
jg 0x4028e0
cmp eax, 0xac9b0dad
jg 0x401fb0
cmp eax, 0x9cebc17c
jg 0x402129
cmp eax, 0x87d969e4
jg 0x4022d0
cmp eax, 0x820257c3
je 0x40243a
cmp eax, 0x85c0af0a
jne 0x401e40
mov ecx, dword [0x448518]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
and eax, 0xf610fd6
not ecx
and esi, 0xd9a58dcf
mov edx, ecx
and ecx, 0xf09ef029
and edx, 0x265a7230
or eax, ecx
or esi, edx
xor eax, 0xf610fd6
mov edx, esi
and esi, 0x590151d7
not edx
and edx, 0xa6feae28
or esi, edx
mov edx, esi
xor esi, 0x801011
xor edx, 0x4f130120
and esi, 0x30c832d7
and edx, 0xcf37cd28
or edx, esi
mov esi, 0x8ec093d
xor edx, 0xcf37cd28
mov ecx, edx
and ecx, eax
xor eax, edx
mov edx, dword [0x44851c]
or eax, ecx
mov ecx, eax
and eax, 0xba516010
not ecx
and ecx, 0x45ae9fef
or eax, ecx
xor eax, 0xba516010
sete ah
setne ch
cmp edx, 0xa
setl cl
cmp edx, 9
mov dl, ah
setg al
and dl, al
xor al, ch
and ch, cl
or ch, dl
mov edx, ecx
xor cl, ah
and dl, ah
mov ah, al
or cl, dl
mov dl, ch
xor ah, 1
xor cl, 1
and dl, cl
xor cl, ch
or cl, dl
mov edx, eax
and dl, ah
mov ch, dl
xor dl, al
xor ch, 1
or ch, ah
mov ah, cl
xor ah, 1
xor ch, 1
and cl, ah
or ch, dl
mov edx, ecx
xor cl, ah
and dl, ah
or cl, dl
mov dl, ch
xor dl, 1
and dl, cl
xor cl, 1
and cl, ch
or cl, dl
mov edx, eax
xor dl, ah
or ah, al
xor ah, 1
or ah, dl
mov dl, ah
xor dl, cl
test ah, 1
mov eax, 0xb2e8ef1d
cmovne eax, esi
test cl, 1
cmove eax, esi
test dl, 1
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x68], edx
mov edx, 0xb2e8ef1d
mov dword [esp + 0x6c], esi
jmp 0x402ef3
cmp eax, 0xcef14af7
jg 0x402175
cmp eax, 0xb3437bad
jg 0x4022fa
cmp eax, 0xac9b0dae
je 0x402473
cmp eax, 0xb2e8ef1d
jne 0x401e40
lea ecx, [esp + 0x38]
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x60]
push dword [esp + 0x34]
call fcn.00409b30
mov eax, dword [0x448518]
cmp byte [esp + 0x3c], 0
lea ecx, [eax - 1]
setne byte [esp + 0x65]
imul ecx, eax
mov eax, ecx
and ecx, 0xdf17a53e
not eax
and eax, 0x20e85ac1
or ecx, eax
mov eax, ecx
and ecx, 0xd3e53c64
not eax
and eax, 0x2c1ac39b
or ecx, eax
mov eax, ecx
mov edx, ecx
xor ecx, 0x890800a
xor eax, 0xf30d66a5
xor edx, 0xf30d66a4
and ecx, 0xf898862f
and edx, eax
and eax, 0x76779d0
or eax, ecx
mov ecx, edx
xor eax, 0x76779d1
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0xee394ec5
mov edx, ecx
and ecx, 0x11c6b13a
and edx, eax
or ecx, esi
mov esi, edx
and edx, 0x11c6b13a
not esi
or eax, esi
and esi, 0xee394ec5
or edx, esi
not eax
mov esi, 0x8ec093d
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x16bb4987
not ecx
mov edx, ecx
and edx, 0xe944b678
or eax, edx
mov edx, dword [0x44851c]
xor eax, 0x16bb4987
or eax, ecx
cmp eax, 0xffffffff
sete ah
setne ch
cmp edx, 0xa
setl al
cmp edx, 9
setg dl
mov dh, dl
xor dh, al
xor al, ah
and dh, dl
xor al, 1
mov cl, dh
xor cl, 1
and cl, dh
mov ebx, ecx
xor cl, dh
and bl, dh
or cl, bl
mov dh, cl
and cl, ah
xor dh, 1
and dh, ch
mov ch, dl
xor ch, ah
or cl, dh
and ch, dl
xor ch, 1
mov dl, ch
xor dl, al
or al, ch
xor al, 1
or al, dl
mov edx, ecx
xor al, 1
xor dl, al
or al, cl
xor al, 1
or al, dl
mov ecx, eax
xor cl, dl
test al, 1
mov eax, 0x66694d33
cmovne eax, esi
test dl, 1
mov edx, 0x66694d33
cmove eax, esi
test cl, 1
jmp 0x402ef3
cmp eax, 0xa7b5b4e8
jg 0x40232d
cmp eax, 0x9cebc17d
je 0x40255f
cmp eax, 0xa390014f
jne 0x401e40
cmp byte [esp + 0x66], 0
mov eax, 0xa7b5b4e9
mov ecx, 0x1c65206b
mov dword [esp + 8], 0
cmovne eax, ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x74]
jmp 0x40324e
cmp eax, 0x56804b2
jg 0x402402
cmp eax, 0xcef14af8
je 0x4026b2
cmp eax, 0xe7454463
jne 0x401e40
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov al, byte [ecx + eax + 0x40]
mov ecx, 0xf174718e
mov byte [esp + 0x1c], al
movzx esi, al
mov eax, dword [ebx + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x98], eax
nop
cmp ecx, 0xc30fff61
je 0x40221b
cmp ecx, 0xf3747543
je 0x402209
cmp ecx, 0xf174718e
jne 0x4021d0
cmp dword [esp + 0x98], 0
mov ecx, 0xf3747543
mov eax, 0xc30fff61
cmove ecx, eax
xor eax, eax
cmp ecx, 0xc30fff61
jne 0x4021d8
jmp 0x40221b
mov eax, dword [ebx + 0x30]
mov ecx, 0xc30fff61
mov eax, dword [eax]
cmp ecx, 0xc30fff61
jne 0x4021d8
mov dword [esp + 0x98], eax
sar eax, 0x1f
mov dword [esp + 0x9c], eax
mov eax, 0xf56869fd
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x51afac97
jg 0x402290
cmp eax, 0xf56869fd
je 0x40225a
cmp eax, 0x491ce012
jne 0x402240
jmp 0x402791
xor eax, eax
mov ecx, 0x51afac98
cmp eax, dword [esp + 0x98]
mov eax, 0
sbb eax, dword [esp + 0x9c]
mov eax, 0x5251e44b
cmovl eax, ecx
cmp eax, 0x51afac97
jle 0x402247
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x51afac98
je 0x4022a8
cmp eax, 0x5251e44b
jne 0x402240
mov eax, dword [ebx]
mov ecx, ebx
push esi
call dword [eax + 0xc]
jmp 0x4022be
mov eax, dword [ebx + 0x30]
dec dword [eax]
mov eax, dword [ebx + 0x20]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
movzx eax, byte [esp + 0x1c]
mov byte [ecx], al
mov eax, 0x491ce012
cmp eax, 0x51afac97
jle 0x402247
jmp 0x402290
cmp eax, 0x87d969e5
je 0x4027a6
cmp eax, 0x8f6b2359
jne 0x401e40
cmp byte [esp + 0x67], 0
mov eax, 0xb3437bae
mov ecx, 0x37107f3a
jmp 0x403271
cmp eax, 0xb3437bae
je 0x4027db
cmp eax, 0xc0ad9e40
jne 0x401e40
mov eax, 0x87d969e5
mov dword [esp + 0x18], 4
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0xa7b5b4e9
je 0x402893
cmp eax, 0xa815b0f6
jne 0x401e40
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov eax, 0xdefc3d07
add ecx, eax
mov eax, 0x525655de
adc edx, eax
mov eax, 0xe4898971
sub eax, ecx
mov ecx, 0x39b41930
sbb ecx, edx
add eax, 0xdefc3d07
mov edx, 0xf0d7fea5
adc ecx, 0x525655de
add eax, 0xbedb50cb
adc ecx, 0x2d989827
add eax, 0x93df724e
adc ecx, 0xecfd6317
not eax
not ecx
add eax, 0xbedb50cb
adc ecx, 0x2d989827
add eax, 0xe4898971
adc ecx, 0x39b41930
add eax, 0xf0d7fea5
adc ecx, 0x10df3323
add eax, 0x93df724e
adc ecx, 0xecfd6317
sub edx, eax
mov eax, 0x10df3323
sbb eax, ecx
add edx, 0x7be01e78
mov ecx, 0x7be01e78
adc eax, 0x9c3b07c4
sub ecx, edx
mov edx, 0x9c3b07c4
sbb edx, eax
mov dword [esp + 0x28], ecx
mov eax, 0x56804b3
mov dword [esp + 0x24], edx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0x56804b3
je 0x402cd8
cmp eax, 0x8ec093d
jne 0x401e40
lea ecx, [esp + 0x38]
push dword [esp + 0x34]
call fcn.00409b30
mov eax, 0xb2e8ef1d
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + eax + 0x38]
mov eax, dword [ecx]
push dword [esp + 0x44]
push dword [esp + 0x44]
push dword [ebp + 0xc]
call dword [eax + 0x24]
xor edx, dword [esp + 0x44]
xor eax, dword [esp + 0x40]
mov ecx, 0x87d969e5
or eax, edx
mov eax, 0xc0ad9e40
jmp 0x4028c0
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
cmp edx, dword [ecx + eax + 0x20]
sbb esi, dword [ecx + eax + 0x24]
mov ecx, dword [0x448518]
lea eax, [ecx - 1]
setge byte [esp + 0x5f]
imul eax, ecx
mov edx, eax
mov ecx, eax
and eax, 0x7d67e911
not edx
and ecx, 0x3a018341
mov esi, edx
and edx, 0x829816ee
and esi, 0xc5fe7cbe
or eax, edx
or ecx, esi
mov edx, eax
xor eax, 0x829816ee
mov esi, ecx
and ecx, 0x93150562
xor edx, 0x7d67e911
not esi
and esi, 0x6ceafa9d
or ecx, esi
mov esi, ecx
xor ecx, 0xa9148622
xor esi, 0x56eb79dd
and edx, ecx
and eax, esi
mov esi, 0x3855c8cb
or eax, edx
xor ecx, eax
test ecx, eax
setne al
cmp dword [0x44851c], 9
setg cl
mov edx, ecx
xor cl, al
and dl, al
mov ah, cl
mov dh, cl
or dl, cl
xor ah, 1
mov al, dl
and dh, ah
xor al, 1
mov ch, al
and ch, dl
mov bl, ch
xor ch, al
and bl, al
mov al, dh
xor dh, cl
and al, cl
or ch, bl
or dh, al
mov al, dl
and al, ah
xor ah, dl
xor dh, ch
mov ecx, 0x1aedede1
or ah, al
mov al, ah
xor al, dh
test al, 1
cmovne ecx, esi
test ah, ah
mov eax, 0x1aedede1
cmovne eax, ecx
test dh, 1
jmp 0x402d37
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov al, byte [ecx + eax + 0x40]
mov ecx, 0xf174718e
mov byte [esp + 0x1c], al
movzx esi, al
mov eax, dword [ebx + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x98], eax
nop word [eax + eax]
cmp ecx, 0xc30fff61
je 0x4025eb
cmp ecx, 0xf3747543
je 0x4025d9
cmp ecx, 0xf174718e
jne 0x4025a0
cmp dword [esp + 0x98], 0
mov ecx, 0xf3747543
mov eax, 0xc30fff61
cmove ecx, eax
xor eax, eax
cmp ecx, 0xc30fff61
jne 0x4025a8
jmp 0x4025eb
mov eax, dword [ebx + 0x30]
mov ecx, 0xc30fff61
mov eax, dword [eax]
cmp ecx, 0xc30fff61
jne 0x4025a8
mov dword [esp + 0x98], eax
sar eax, 0x1f
mov ecx, 0xf56869fd
mov dword [esp + 0x9c], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, 0x51afac97
jg 0x402660
cmp ecx, 0xf56869fd
je 0x40262d
cmp ecx, 0x491ce012
jne 0x402610
jmp 0x402d2a
xor ecx, ecx
mov edx, 0x51afac98
cmp ecx, dword [esp + 0x98]
mov ecx, 0
sbb ecx, dword [esp + 0x9c]
mov ecx, 0x5251e44b
cmovl ecx, edx
cmp ecx, 0x51afac97
jle 0x402618
nop word [eax + eax]
cmp ecx, 0x51afac98
je 0x402687
cmp ecx, 0x5251e44b
jne 0x402610
mov eax, dword [ebx]
mov ecx, ebx
push esi
call dword [eax + 0xc]
mov ecx, 0x491ce012
cmp ecx, 0x51afac97
jle 0x402618
jmp 0x402660
mov eax, dword [ebx + 0x30]
dec dword [eax]
mov eax, dword [ebx + 0x20]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
movzx eax, byte [esp + 0x1c]
mov byte [ecx], al
mov ecx, 0x491ce012
mov eax, esi
cmp ecx, 0x51afac97
jle 0x402618
jmp 0x402660
mov eax, dword [esp + 0x4c]
mov edx, 0x71a2821c
mov esi, 0xb2af5c8f
sub edx, 0xd213c4b6
sbb esi, 0x88d6dbcd
sub edx, 0x71a2821c
sbb esi, 0xb2af5c8f
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
add edx, dword [ecx + eax + 0x20]
adc esi, dword [ecx + eax + 0x24]
add edx, 0x88701401
mov eax, 0x85c0af0a
adc esi, 0x35e8313f
sub edx, 0x186ad849
sbb esi, 0x6dc6bfa
sub edx, 0x88701401
sbb esi, 0x35e8313f
add edx, 0x3a39845a
adc esi, 0x61cde773
sub edx, dword [esp + 0x40]
sbb esi, dword [esp + 0x44]
sub edx, 0x3a39845a
sbb esi, 0x61cde773
add edx, 0x7570721d
adc esi, 0x5f0d5e6f
add edx, 0x186ad849
adc esi, 0x6dc6bfa
sub edx, 0x7570721d
sbb esi, 0x5f0d5e6f
sub edx, 0x425c813d
sbb esi, 0xbeaa1cd1
add edx, 0xd213c4b6
adc esi, 0x88d6dbcd
add edx, 0x425c813d
adc esi, 0xbeaa1cd1
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], esi
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, 0x3f1fb9c7
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, dword [esp + 0x18]
mov ecx, 0x56804b3
mov dword [esp + 0x84], eax
mov eax, 0x26dfb2a4
cmp dword [esp + 0x84], 0
cmove eax, ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x24], ecx
jmp 0x402d10
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov edx, 0xf0074a14
mov esi, 0x940fc152
add edx, 0xadff00f0
adc esi, 0x19af7362
sub ecx, 0xc9697bf0
sbb eax, 0xc98aab32
sub ecx, edx
mov edx, 0x81593a4e
sbb eax, esi
add ecx, 0xf0074a14
mov esi, 0x3b33c53
adc eax, 0x940fc152
add ecx, 0xc9697bf0
adc eax, 0xc98aab32
add ecx, 0xffffffff
adc eax, 0xffffffff
add ecx, 0x81593a4e
adc eax, 0x3b33c53
add ecx, 0x22f78941
adc eax, 0x1d371aee
sub edx, ecx
sbb esi, eax
sub edx, 0xadff00f0
mov eax, 0xf479f47d
sbb esi, 0x19af7362
add edx, 0xf479f47d
adc esi, 0x201b4e
add edx, 0x22f78941
adc esi, 0x1d371aee
sub eax, edx
mov dword [esp + 0x30], eax
mov eax, 0x201b4e
sbb eax, esi
mov dword [esp + 0x2c], eax
mov eax, 0x5fb02481
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, dword [esp + 0xc]
mov ecx, 0x820257c3
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov eax, 0x87d969e5
cmp dword [esp + 0x80], 0
mov edx, dword [esp + 0x80]
cmove eax, ecx
mov dword [esp + 0x18], edx
cmp eax, 0xad550f6
jle 0x401e4b
nop dword [eax]
cmp eax, 0x3855c8ca
jg 0x402930
cmp eax, 0x1c65206a
jg 0x402a63
cmp eax, 0x19e2c9e1
jg 0x402be7
cmp eax, 0xad550f7
je 0x402d4a
cmp eax, 0x11f122a6
jne 0x401e40
mov eax, 0x26dfb2a4
mov dword [esp], 4
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0x5f32598a
jg 0x402abc
cmp eax, 0x3f1fb9c6
jg 0x402c11
cmp eax, 0x3855c8cb
je 0x402d67
cmp eax, 0x3e31ce25
jne 0x401e40
mov ecx, dword [0x448518]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0x21447933
mov edx, ecx
and edx, 0xdebb86cc
or esi, edx
mov edx, esi
xor esi, 0x12a3864c
xor edx, 0x1001810
or esi, 1
and esi, 0x32e7e76f
and edx, 0xcd181890
or edx, esi
mov esi, ecx
or esi, 0x32e7e76e
and esi, 0x32e7e76f
xor esi, edx
mov edx, esi
and esi, eax
not edx
and ecx, edx
or esi, ecx
mov ecx, dword [0x44851c]
xor edx, esi
test edx, esi
mov esi, 0xac9b0dae
setne dl
sete ah
cmp ecx, 9
setg al
cmp ecx, 0xa
setl cl
mov ch, cl
xor ch, al
and ch, cl
mov cl, ch
mov dh, ch
xor cl, 1
or cl, ch
xor cl, 1
and dh, cl
xor cl, ch
or cl, dh
xor cl, 1
mov ch, cl
or cl, ah
xor ch, ah
xor cl, 1
not ch
and ch, ah
mov ah, ch
and ah, cl
xor cl, ch
or cl, ah
mov ah, al
xor al, dl
mov dh, cl
and ah, dl
mov ch, cl
xor dh, 1
mov dl, ah
and ch, dh
and dl, al
xor al, ah
mov ah, ch
xor ch, cl
or al, dl
and ah, cl
or ch, ah
mov ah, dh
xor dh, al
and ah, al
xor ch, al
or dh, ah
xor ch, 1
mov al, dh
xor al, ch
test al, 1
mov eax, 0x3855c8cb
cmovne esi, eax
test dh, 1
mov eax, 0xac9b0dae
cmovne eax, esi
test ch, 1
cmove eax, esi
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0x346242d4
jg 0x402c62
cmp eax, 0x1c65206b
je 0x402d8b
cmp eax, 0x26dfb2a4
jne 0x401e40
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov edx, dword [esp]
mov dword [ecx + eax + 0x24], 0
mov dword [ecx + eax + 0x20], 0
mov eax, 0x5f32598b
mov dword [esp + 4], edx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0x66694d32
jg 0x402ca5
cmp eax, 0x5f32598b
je 0x4033ec
cmp eax, 0x5fb02481
jne 0x401e40
mov ecx, dword [0x448518]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov ecx, eax
and eax, 0xb424f9fd
or edx, 0x4a55890e
not ecx
mov esi, edx
mov edi, ecx
and edx, 0x3c279fbb
and ecx, 0x4bdb0602
not esi
or edi, 0xb5aa76f1
or eax, ecx
and esi, 0x81886040
mov ecx, eax
xor eax, 0x4bdb0602
or esi, edx
mov edx, edi
and edi, 0x3c279fbb
xor ecx, 0xb424f9fd
not edx
and edx, 0x42500004
or edx, edi
xor edx, esi
mov esi, edx
and edx, 0xb5aa76f0
not esi
and esi, 0x4a55890f
or edx, esi
mov esi, 0x19e2c9e2
and eax, edx
not edx
and ecx, edx
or eax, ecx
mov ecx, dword [0x44851c]
not eax
or eax, edx
cmp eax, 0xffffffff
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg ch
and ah, dl
mov cl, ch
xor cl, dl
mov dl, ch
xor dl, al
and dl, ch
and ch, al
or ch, ah
mov eax, edx
and al, ch
xor ch, dl
or ch, al
mov al, ch
xor al, 1
and ch, al
mov edx, eax
and dl, ch
xor ch, al
or ch, dl
mov edx, 0x19e2c9e2
xor ch, cl
mov al, ch
xor al, 1
and cl, al
xor al, cl
test al, 1
mov eax, 0x768126bc
cmovne edx, eax
test ch, 1
mov eax, edx
cmovne eax, esi
test cl, cl
mov esi, dword [esp + 0x30]
cmove eax, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0x19e2c9e2
je 0x402f06
cmp eax, 0x1aedede1
jne 0x401e40
cmp byte [esp + 0x5f], 0
mov eax, 0xcef14af8
mov ecx, 0x85c0af0a
cmovne eax, ecx
jmp 0x402c42
cmp eax, 0x3f1fb9c7
je 0x403013
cmp eax, 0x4c10794b
jne 0x401e40
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
cmp eax, 1
mov eax, 0x3e31ce25
sbb ecx, 0
mov ecx, 0x85c0af0a
cmovl eax, ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0x346242d5
je 0x403162
cmp eax, 0x37107f3a
jne 0x401e40
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], 4
mov dword [esp + 0x20], eax
mov eax, 0xa7b5b4e9
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0x66694d33
je 0x403262
cmp eax, 0x768126bc
jne 0x401e40
mov eax, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov eax, 0x19e2c9e2
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, dword [esp + 0x28]
mov ecx, 0x9cebc17d
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x8c], eax
xor eax, eax
cmp eax, dword [esp + 0x88]
mov eax, 0
sbb eax, dword [esp + 0x8c]
mov eax, 0x26dfb2a4
cmovl eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp eax, 0xffffffff
mov eax, 0xa815b0f6
mov ecx, 0x11f122a6
cmove eax, ecx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, 0x5f32598b
mov dword [esp + 4], 4
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, dword [esp + 0x4c]
mov eax, dword [ebp + 8]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov eax, 0xac9b0dae
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, dword [0x448518]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
and edx, 0xa457cdb8
mov esi, eax
and eax, 0xb50c5628
and esi, 0x5ba83247
or edx, esi
mov esi, edx
xor edx, 0x58081045
or edx, 0xa3f42732
xor esi, 0x4020800
mov edi, edx
and esi, 0x4c0a0841
and edi, 0x9105f38c
or esi, edi
mov edi, ecx
xor edi, 0x5c0bd8cd
and edi, ecx
and ecx, 0x4af3a9d7
mov ebx, edi
and edi, 0x6efa0c73
or eax, ecx
not ebx
or edx, ebx
and ebx, 0x9105f38c
or edi, ebx
not edx
xor edi, esi
or edx, edi
mov esi, edx
and edx, 0x5c0bd8cc
not esi
and esi, 0xa3f42733
or edx, esi
mov esi, edx
and edx, 0xb50c5628
not esi
mov edi, esi
and edi, 0x4af3a9d7
or edx, edi
xor eax, edx
mov edx, dword [0x44851c]
not eax
or eax, esi
cmp eax, 0xffffffff
sete ch
setne ah
cmp edx, 9
setg cl
cmp edx, 0xa
mov dh, ah
setl dl
xor dh, ch
and dh, ah
and ah, dl
mov al, dh
not al
and al, dh
mov ebx, eax
xor al, dh
and bl, dh
or al, bl
mov dh, al
xor dh, 1
and al, dh
xor al, 1
mov ebx, eax
or al, dh
xor bl, dh
xor al, 1
or al, bl
mov dh, al
xor al, 1
and al, cl
and cl, ch
and dh, dl
or dl, ch
or cl, ah
mov ah, dl
or al, dh
xor cl, 1
mov ch, al
xor ah, cl
or cl, dl
xor cl, 1
or cl, ah
mov ah, al
not ah
mov edx, ecx
and ah, al
xor dl, 1
xor ah, 1
xor ch, ah
or ah, al
xor ah, 1
or ah, ch
mov ch, cl
and ch, dl
xor cl, ch
xor ch, 1
or ch, dl
xor ch, 1
or ch, cl
mov cl, ah
xor cl, 1
and cl, ch
xor ch, 1
and ch, ah
or ch, cl
mov cl, al
xor cl, dl
or dl, al
mov eax, 0x3f1fb9c7
xor dl, 1
or dl, cl
mov cl, dl
xor cl, ch
test dl, 1
mov edx, 0xe7454463
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0x3f1fb9c7
cmove eax, edx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
xor eax, eax
cmp eax, dword [esp + 0x70]
mov eax, 0
sbb eax, dword [esp + 0x74]
mov eax, dword [0x448518]
lea ecx, [eax - 1]
setl byte [esp + 0x66]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
and edx, 0x2207088
mov esi, eax
and eax, 0x3dfa3ce9
and esi, 0x8888004
or edx, esi
mov esi, edx
xor edx, 0xfddf8f77
xor esi, 0x1000
mov edi, edx
and edi, 0xfeb0e8ab
and esi, 0x81004
or esi, edi
mov edi, ecx
xor edi, 0xaa8f08c
and edi, ecx
and ecx, 0xc205c316
mov ebx, edi
and edi, 0x14f1754
or eax, ecx
mov ecx, dword [0x44851c]
not ebx
or edx, ebx
and ebx, 0xfeb0e8ab
or edi, ebx
not edx
xor edi, esi
or edx, edi
mov esi, edx
and edx, 0xaa8f08d
not esi
and esi, 0xf5570f72
or edx, esi
mov esi, edx
and edx, 0x3dfa3ce9
not esi
mov edi, esi
and edi, 0xc205c316
or edx, edi
xor eax, edx
not eax
or eax, esi
mov esi, 0xa390014f
cmp eax, 0xffffffff
sete al
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
xor dl, al
xor al, cl
xor cl, al
and cl, al
mov eax, edx
xor dl, cl
xor al, 1
xor cl, 1
or cl, al
mov eax, ecx
xor al, dl
mov eax, 0x768126bc
cmovne esi, eax
test dl, dl
mov edx, 0xa390014f
mov eax, esi
cmovne eax, edx
test cl, cl
cmovne eax, esi
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx + eax + 0x38]
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov al, byte [ecx + eax + 0x40]
mov ecx, 0xf174718e
mov byte [esp + 0x1c], al
movzx esi, al
mov eax, dword [ebx + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x98], eax
nop dword [eax + eax]
cmp ecx, 0xc30fff61
je 0x40309b
cmp ecx, 0xf3747543
je 0x403089
cmp ecx, 0xf174718e
jne 0x403050
cmp dword [esp + 0x98], 0
mov ecx, 0xf3747543
mov eax, 0xc30fff61
cmove ecx, eax
xor eax, eax
cmp ecx, 0xc30fff61
jne 0x403058
jmp 0x40309b
mov eax, dword [ebx + 0x30]
mov ecx, 0xc30fff61
mov eax, dword [eax]
cmp ecx, 0xc30fff61
jne 0x403058
mov dword [esp + 0x98], eax
sar eax, 0x1f
mov ecx, 0xf56869fd
mov dword [esp + 0x9c], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, 0x51afac97
jg 0x403110
cmp ecx, 0xf56869fd
je 0x4030dd
cmp ecx, 0x491ce012
jne 0x4030c0
jmp 0x403284
xor ecx, ecx
mov edx, 0x51afac98
cmp ecx, dword [esp + 0x98]
mov ecx, 0
sbb ecx, dword [esp + 0x9c]
mov ecx, 0x5251e44b
cmovl ecx, edx
cmp ecx, 0x51afac97
jle 0x4030c8
nop word [eax + eax]
cmp ecx, 0x51afac98
je 0x403137
cmp ecx, 0x5251e44b
jne 0x4030c0
mov eax, dword [ebx]
mov ecx, ebx
push esi
call dword [eax + 0xc]
mov ecx, 0x491ce012
cmp ecx, 0x51afac97
jle 0x4030c8
jmp 0x403110
mov eax, dword [ebx + 0x30]
dec dword [eax]
mov eax, dword [ebx + 0x20]
mov ecx, dword [eax]
lea edx, [ecx + 1]
mov dword [eax], edx
movzx eax, byte [esp + 0x1c]
mov byte [ecx], al
mov ecx, 0x491ce012
mov eax, esi
cmp ecx, 0x51afac97
jle 0x4030c8
jmp 0x403110
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax + 0x14]
mov edi, eax
mov esi, eax
and eax, 0xab1ac27c
not edi
and esi, 0x64dbec0f
mov ecx, edi
mov edx, edi
and edi, 0x54e53d83
and ecx, 0x9b241230
or edx, 0xfffffe3f
or eax, edi
or esi, ecx
mov ecx, edx
and edx, 0x15e0c8f5
mov ebx, esi
xor esi, 0x112000f0
not ecx
xor ebx, 0x601b240a
and ecx, 0x100
and esi, 0x15e0c8f5
and ebx, 0xea1f360a
or ecx, edx
or ebx, esi
mov esi, eax
xor eax, 0x54e53d83
xor ecx, ebx
xor esi, 0xa8104270
mov edx, ecx
mov edi, ecx
or ecx, eax
and eax, 0x574f9c8c
and esi, 0xa8b06373
not edx
and edi, 0x574f9c8c
or esi, eax
not ecx
and edx, 0xa8b06373
or edx, edi
xor esi, edx
or ecx, esi
mov eax, ecx
and ecx, 0x91e84104
not eax
and eax, 0x6e17befb
or ecx, eax
mov eax, 0x5fb02481
xor ecx, 0x91e84104
cmp ecx, 0x40
mov ecx, 0xa7b5b4e9
cmove eax, ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 8], 0
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x20], ecx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
cmp byte [esp + 0x65], 0
mov eax, 0xad550f7
mov ecx, 0x346242d5
cmovne eax, ecx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov ecx, dword [0x448518]
cmp eax, 0xffffffff
sete byte [esp + 0x67]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0xfee1e11e
and edx, 0x11e1ee1
or eax, edx
mov edx, eax
xor eax, 0x11e1ee1
xor edx, 0xe0c10004
mov esi, eax
and esi, 0x1f32ef9b
and edx, 0xe0cd1064
or edx, esi
mov esi, ecx
and ecx, 0xe0cd1064
not esi
or eax, esi
and esi, 0x1f32ef9b
or ecx, esi
not eax
xor ecx, edx
or eax, ecx
mov edx, eax
mov ecx, eax
xor edx, 1
not ecx
and edx, eax
and ecx, 0xfffffffe
and eax, 1
or eax, ecx
mov ecx, edx
and edx, 0xd9f8e10c
not ecx
mov esi, ecx
and esi, 0x26071ef3
or edx, esi
mov esi, eax
and eax, 0xd9f8e10c
not esi
or ecx, esi
and esi, 0x26071ef3
or eax, esi
not ecx
mov esi, dword [0x44851c]
xor eax, edx
or ecx, eax
mov eax, ecx
and ecx, 0xe8e7f9bc
not eax
and eax, 0x17180643
or ecx, eax
xor ecx, 0xe8e7f9bc
setne dl
sete ah
cmp esi, 0xa
setl cl
cmp esi, 9
mov dh, dl
mov esi, 0xe7454463
setg ch
xor dh, ah
and dh, dl
xor dl, cl
mov bl, dh
xor dl, 1
xor bl, 1
mov bh, bl
and bh, dh
mov al, bh
xor bh, dh
mov dh, cl
xor al, 1
or al, bl
xor al, 1
or al, bh
and dh, al
not al
and al, ch
mov ch, cl
and cl, ah
xor ch, ah
mov ah, dl
or al, dh
or cl, ch
xor al, 1
xor cl, 1
and ah, cl
xor cl, dl
or cl, ah
mov edx, ecx
xor dl, 1
mov ah, dl
and ah, cl
xor dl, ah
xor ah, 1
or ah, cl
mov ecx, eax
xor ah, 1
or ah, dl
mov edx, eax
xor cl, ah
xor ah, 1
and dl, ah
xor ah, al
mov al, cl
or ah, dl
mov edx, 0x8f6b2359
xor al, ah
not al
test al, 1
cmovne edx, esi
test ah, 1
mov eax, 0x8f6b2359
cmovne eax, edx
test cl, 1
cmovne eax, edx
cmp eax, 0xad550f6
jg 0x4028e0
jmp 0x401e4b
mov eax, dword [esp + 0x4c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax + 0xc]
mov dword [esp + 0x14], ecx
mov edx, eax
mov ecx, eax
mov edi, eax
not edx
xor ecx, 0x69aa8609
and edi, 0x60888609
mov esi, edx
and ecx, eax
and eax, 0xd04ea696
and esi, 0x2fb15969
or eax, esi
not eax
or eax, edx
and edx, 0x9220000
or edi, edx
mov edx, edi
xor edi, 0x9f7779f6
xor edx, 0x40800209
mov esi, edi
and esi, 0xb17ead34
and edx, 0x48800209
or edx, esi
mov esi, ecx
and ecx, 0x4e8152cb
not esi
or edi, esi
and esi, 0xb17ead34
or ecx, esi
not edi
xor ecx, edx
or edi, ecx
mov ecx, edi
and edi, 0x69aa8609
not ecx
and ecx, 0x965579f6
or edi, ecx
mov esi, edi
mov edx, edi
mov dword [esp + 0x10], edi
not esi
and edx, 0x2fb15969
mov ecx, esi
mov dword [esp + 0xc], esi
and ecx, 0xd04ea696
or edx, ecx
mov edi, edx
xor edi, esi
and edi, edx
mov edx, dword [esp + 4]
mov ebx, edx
mov ecx, edx
mov esi, edx
mov dword [esp + 4], edx
not ebx
and ecx, 0x23c9a174
mov edx, ebx
mov dword [esp], ebx
and edx, 0xdc365e8b
or edx, ecx
mov ecx, edx
xor edx, 0xc78f81d
xor ecx, 0xd0060682
and ecx, 0xd04ea696
or edx, ecx
mov ecx, edx
and edx, 0xdaba264a
not ecx
and ecx, 0x2545d9b5
or edx, ecx
mov ecx, esi
mov esi, ebx
mov ebx, dword [esp]
and ecx, 0xdaba2e89
and esi, 0x2545d176
mov dword [esp + 0x20], edx
xor edx, 0x2545d9b5
or esi, ecx
xor esi, 0xf50b77e0
and ebx, 0x2fb15969
or ebx, esi
mov ecx, ebx
and ebx, 0x35cb00f8
not ecx
and ecx, 0xca34ff07
or ebx, ecx
mov ecx, ebx
mov dword [esp + 0x24], ebx
xor ecx, 0x35cb00f8
and ecx, edx
mov edx, edi
and edi, 0x7ec0c57b
not edx
mov dword [esp + 8], ecx
mov ecx, edx
or edx, 0xf834f5f6
and ecx, 0x813f3a84
or edi, ecx
mov ecx, eax
and eax, 0xbb170e06
not ecx
mov ebx, ecx
and ecx, 0x7cb0a09
and ebx, 0x44e8f1f9
or ebx, eax
mov eax, edi
xor edi, 0x790bcf72
xor eax, 0x7ec0c57b
and edi, eax
mov dword [esp + 0x28], eax
mov eax, edi
and edi, 0x8c26e65b
not eax
mov esi, eax
and esi, 0x73d919a4
or edi, esi
mov esi, edx
not edx
or eax, esi
and esi, 0x73d919a4
and edx, 0x4020209
or edx, esi
not eax
xor edx, edi
or eax, edx
mov edx, ebx
xor ebx, 0x4323fbf0
xor edx, 0x44e8f1f9
mov esi, eax
and eax, 0xbfea8a44
and ebx, edx
not esi
mov edi, ebx
and esi, 0x401575bb
and edi, ecx
xor ecx, ebx
or eax, esi
or ecx, edi
mov edi, dword [esp + 0x24]
mov esi, ecx
and ecx, 0xbfea8a44
not esi
and esi, 0x401575bb
or ecx, esi
mov esi, dword [esp + 0x28]
xor edi, 0xca34ff07
xor ecx, eax
mov eax, esi
and eax, edx
xor edx, esi
or edx, eax
mov eax, ecx
not edx
and eax, edx
xor edx, ecx
mov ecx, dword [esp + 0x20]
or edx, eax
xor ecx, 0xdaba264a
mov eax, ecx
xor eax, edi
and edi, ecx
and eax, ecx
or edi, dword [esp + 8]
mov ecx, eax
and eax, 0x5b091f43
not ecx
mov esi, ecx
and esi, 0xa4f6e0bc
or eax, esi
mov esi, edi
and edi, 0x5b091f43
not esi
or ecx, esi
and esi, 0xa4f6e0bc
or edi, esi
not ecx
xor edi, eax
or ecx, edi
mov edi, edx
or edx, 0xf4659da1
mov esi, ecx
mov eax, ecx
not edi
mov ebx, edx
and edx, 0x9085d0ff
xor esi, 0xb9a625e
and eax, 0xb002012
or edi, 0xb9a625e
not ebx
and esi, ecx
not ecx
and ebx, 0xb1a2200
and ecx, 0x9a424c
or ebx, edx
or eax, ecx
mov ecx, edi
and edi, 0x9085d0ff
not ecx
mov edx, eax
xor eax, 0xf4ffdfed
and ecx, 0x64600d00
xor edx, 0x8000010
or ecx, edi
mov edi, eax
and edx, 0x80a0014
and edi, 0x8394f24b
xor ecx, ebx
or edx, edi
mov edi, esi
and esi, 0x7c6b0db4
not edi
or eax, edi
and edi, 0x8394f24b
or esi, edi
not eax
mov edi, dword [esp + 0x10]
xor esi, edx
mov edx, ecx
or eax, esi
not edx
and edx, eax
not eax
and eax, ecx
mov esi, edi
mov ecx, dword [esp + 4]
and edi, 0x7a0e890d
or eax, edx
and esi, 0x99ed5d11
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
and ecx, 0xeae50545
and eax, 0x6612a2ee
or esi, eax
mov eax, dword [esp]
mov edx, esi
xor esi, 0x6612a2ee
xor edx, 0x99ed5d11
mov dword [esp + 0xc], edx
and edx, 0x85f176f2
and eax, 0x151afaba
or edi, edx
or eax, ecx
mov dword [esp + 0x10], edi
mov edx, eax
mov edi, eax
mov dword [esp], eax
xor edx, 0x151afaba
xor edi, 0x6f1473b7
and edi, edx
and edx, 0xc15fe39
mov ebx, edi
and edi, 0xc28080e0
not ebx
mov eax, ebx
and eax, 0x3d7f7f1f
or edi, eax
mov eax, dword [esp + 4]
or eax, 0x85f176f2
mov ecx, eax
or ebx, eax
and eax, 0x3d7f7f1f
not ecx
not ebx
and ecx, 0x42008000
or ecx, eax
xor ecx, edi
mov edi, dword [esp + 0x10]
or ebx, ecx
mov ecx, dword [esp + 0xc]
mov eax, edi
and edi, 0xa4d24489
not eax
and ecx, 0xc15fe39
and eax, 0x5b2dbb76
or edi, eax
mov eax, ebx
and ebx, 0xa4d24489
not eax
and eax, 0x5b2dbb76
or ebx, eax
mov eax, esi
and eax, 0xf3ea01c6
xor ebx, edi
or ecx, eax
mov eax, dword [esp]
xor eax, 0xeae50545
or esi, eax
and eax, 0xf3ea01c6
or edx, eax
not esi
mov eax, ebx
xor edx, ecx
or esi, edx
mov edx, dword [esp + 8]
not esi
and eax, esi
xor esi, ebx
or esi, eax
mov eax, esi
mov ecx, edx
not eax
not ecx
and eax, ecx
or ecx, esi
and esi, edx
xor edx, edx
not ecx
or esi, eax
mov eax, ecx
and eax, esi
xor esi, ecx
mov ecx, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], esi
cmp dword [ecx + eax + 0x38], 0
sete dl
shl edx, 2
mov ecx, edx
not ecx
mov eax, ecx
and edx, ecx
mov esi, ecx
and eax, 0xc93426df
mov ecx, eax
and ecx, edx
xor edx, eax
or edx, ecx
or edx, 0x36cbd920
mov eax, edx
mov dword [esp + 8], edx
and edx, 0x6ec35a91
not eax
mov dword [esp + 0xc], eax
and eax, 0x8134244e
or edx, eax
mov ecx, edx
xor edx, 0x1240060
xor ecx, 0x6ec35a91
and edx, 0x63674861
mov eax, ecx
and ecx, 0x100059
and eax, 0x8810269e
or eax, edx
xor eax, 0x61bd8138
or ecx, eax
mov eax, ecx
and ecx, 0x4b7fe10e
not eax
and eax, 0xa4000ef1
or ecx, eax
mov eax, esi
and esi, 0xfd2536a6
and eax, 0x40400c
mov edx, ecx
mov ebx, ecx
xor eax, 0x29a8955
xor edx, 0x5b7ff10e
or esi, eax
mov eax, ecx
xor eax, 0x21af2523
mov ecx, esi
mov dword [esp + 4], esi
mov edi, eax
and eax, edx
mov edx, esi
not ecx
xor edx, 0x852f2bd2
mov esi, edx
and edx, ecx
mov ecx, ebx
xor ecx, 0xa4800ef1
and edi, ecx
mov ebx, edi
and ebx, eax
xor eax, edi
mov edi, dword [esp + 4]
mov dword [esp + 0x30], eax
mov eax, ecx
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x20]
and eax, edi
xor ecx, edi
and esi, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x28], esi
mov esi, edi
mov esi, ebx
and esi, 0x62190371
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, ebx
and ebx, 0xbcc88ff4
not eax
mov ecx, eax
and eax, 0x4337700b
and ecx, 0x9de6fc8e
or ebx, eax
or esi, ecx
mov eax, ebx
xor ebx, 0x41156008
mov edi, esi
xor esi, 0x9de6fc8e
xor eax, 0xbcc88ff4
and ebx, 0xe51de40c
xor edi, 0x62190371
mov dword [esp], esi
and esi, 0x2dac959
mov dword [esp + 4], edi
and edi, 0xfd2536a6
or edi, esi
mov esi, eax
and eax, 0xfd2536a6
not edi
and esi, 0x1ae21bf3
or edi, dword [esp]
or esi, ebx
xor esi, 0x1838d2aa
or eax, esi
mov esi, edi
and edi, 0xea16416a
not esi
mov ecx, esi
xor ecx, eax
and ecx, esi
and esi, 0x15e9be95
or esi, edi
mov edi, eax
and eax, 0xea16416a
not edi
and edi, 0x15e9be95
or edi, eax
mov eax, ecx
and ecx, 0xa5e6bc3b
not eax
xor edi, esi
mov esi, eax
and esi, 0x5a1943c4
or ecx, esi
mov esi, edi
and edi, 0xa5e6bc3b
not esi
or eax, esi
and esi, 0x5a1943c4
or edi, esi
mov esi, dword [esp + 0x30]
not eax
xor edi, ecx
or eax, edi
mov edi, dword [esp + 0x28]
or esi, dword [esp + 0x24]
mov ecx, edi
and ecx, edx
xor edx, edi
mov edi, eax
or edx, ecx
mov ecx, esi
xor edi, 0xb73d5b4c
not ecx
and edi, eax
and ecx, edx
not edx
and edx, esi
mov esi, dword [esp + 0x2c]
or edx, ecx
mov ebx, edx
and edx, 0x1ed13eb4
not ebx
or esi, dword [esp + 0x1c]
mov ecx, ebx
and ecx, 0xe12ec14b
or edx, ecx
mov ecx, esi
or ebx, esi
and esi, 0xe12ec14b
not ecx
not ebx
and ecx, 0x1ed13eb4
or ecx, esi
xor ecx, edx
or ebx, ecx
mov ecx, eax
not eax
and eax, 0x973c5a4c
and ecx, 0x20010100
mov esi, ebx
or ecx, eax
mov eax, ebx
and esi, 0x5142d681
xor eax, 0xb73d5b4c
and eax, ebx
not ebx
and ebx, 0xaebd297e
or esi, ebx
mov edx, esi
xor esi, 0x19807232
xor edx, 0x5142d681
and esi, edx
mov edx, ecx
xor ecx, 0xdffefeff
xor edx, 0x20000000
mov ebx, ecx
and ebx, 0xa3be313
and edx, 0xb504184c
or edx, ebx
mov ebx, edi
and edi, 0xf5c41cec
not ebx
or ecx, ebx
and ebx, 0xa3be313
or edi, ebx
not ecx
mov ebx, dword [esp]
xor edi, edx
or ecx, edi
mov edi, esi
and esi, 0x700b8556
not edi
mov edx, edi
and edx, 0x8ff47aa9
or esi, edx
mov edx, eax
and eax, 0x700b8556
not edx
or edi, edx
and edx, 0x8ff47aa9
or eax, edx
not edi
xor eax, esi
mov esi, dword [esp + 8]
or edi, eax
mov eax, ecx
and ecx, 0xa4bb8fb6
not eax
and eax, 0x5b447049
or ecx, eax
mov eax, edi
and edi, 0xa4bb8fb6
not eax
and eax, 0x5b447049
or edi, eax
mov eax, ebx
or ebx, 0x37e8549d
xor edi, ecx
mov ecx, dword [esp + 4]
and eax, 0x33f29d9c
mov dword [esp + 0x18], edi
and ecx, 0xcc0d6263
or ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ecx
mov ecx, esi
mov edi, edx
xor ecx, 0x37e8549d
mov dword [esp + 4], edx
xor edx, 0x41ac901
xor edi, 0xcc0d6263
and ecx, esi
and esi, 0xf80efd50
and eax, 0x130028f
and edx, edi
mov dword [esp + 0x14], edi
or esi, eax
mov eax, edx
and edx, 0xe1c0ec20
not eax
mov edi, eax
or eax, ebx
and edi, 0x1e3f13df
not eax
or edx, edi
mov edi, ebx
and ebx, 0x1e3f13df
not edi
and edi, 0xc000a820
or edi, ebx
xor edi, edx
mov edx, esi
or eax, edi
mov edi, esi
xor edx, 0x100612
xor esi, 0x7f102af
xor edi, 0xf80efd50
and edx, edi
and edi, 0x8124229e
mov ebx, edx
and ebx, ecx
xor ecx, edx
mov edx, eax
and eax, 0x4adb09f7
not edx
or ecx, ebx
mov ebx, dword [esp + 0x14]
and edx, 0xb524f608
or eax, edx
mov edx, ecx
and ecx, 0x481b09f7
not edx
and edx, 0xb524f608
and ebx, 0xa1e5fa9e
or ecx, edx
mov edx, dword [esp + 4]
xor ecx, eax
xor edx, 0x33f29d9c
mov eax, edx
or edx, esi
and esi, 0x5e1a0561
and eax, 0x5e1a0561
or edi, esi
not edx
or ebx, eax
xor edi, ebx
or edx, edi
mov edi, dword [esp + 0x18]
mov eax, edx
and edx, 0xf728ebe5
not eax
and eax, 0x8d7141a
or edx, eax
mov eax, ecx
mov esi, edi
xor edx, 0xf728ebe5
not esi
and eax, edx
xor edx, ecx
and esi, 0x19dbcc3e
or edx, eax
mov eax, edx
not eax
and edx, eax
mov ecx, eax
and ecx, edx
xor edx, eax
or edx, ecx
mov eax, edx
and edx, 0xddad8077
not eax
and eax, 0x22527f88
or eax, edx
mov edx, edi
mov ecx, eax
xor eax, 0x22003380
xor ecx, 0xddad8077
and eax, 0xe62433c1
xor edx, ecx
and ecx, 0x19dbcc3e
and edx, edi
and edi, 0xe62433c1
or eax, ecx
or edi, esi
mov ecx, edx
xor eax, edi
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, dword [esp + 0x10]
push 0
push eax
call fcn.0040a5a0
call fcn.00419954
mov ecx, eax
mov edx, eax
mov esi, 0xbb2eb431
xor cl, 1
and dl, cl
mov ah, cl
xor dl, 1
xor ah, dl
or dl, cl
or cl, al
xor dl, 1
xor cl, 1
or dl, ah
xor dl, 1
mov eax, edx
and al, cl
xor cl, dl
or cl, al
and cl, 1
mov byte [esp + 0x97], cl
mov al, byte [esp + 0x97]
mov eax, 0x795373f6
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xaa64f395
je 0x403d23
cmp eax, 0xbb2eb431
je 0x403d0e
cmp eax, 0x795373f6
jne 0x403ce0
cmp byte [esp + 0x97], 0
mov eax, 0xaa64f395
cmovne eax, esi
cmp eax, 0xaa64f395
jne 0x403ce7
jmp 0x403d23
mov ecx, dword [esp + 0x38]
call fcn.0040c820
mov eax, 0xaa64f395
cmp eax, 0xaa64f395
jne 0x403ce7
mov eax, dword [esp + 0x38]
mov esi, 0xfcf90b60
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + ecx + 0x38]
mov dword [esp + 0x98], eax
mov eax, 0x17cdde04
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0xd93dd8cc
je 0x403d7c
cmp eax, 0xfcf90b60
je 0x403d9d
cmp eax, 0x17cdde04
jne 0x403d50
cmp dword [esp + 0x98], 0
mov eax, 0xd93dd8cc
cmove eax, esi
cmp eax, 0xd93dd8cc
jne 0x403d57
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
mov ecx, dword [esp + 0x98]
call dword [eax + 8]
mov eax, 0xfcf90b60
cmp eax, 0xd93dd8cc
jne 0x403d57
jmp 0x403d7c
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xa0]
xor ecx, ebp
call fcn.004178c4
mov eax, dword [esp + 0x34]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret