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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov eax, dword [0x44e834]
xor eax, esp
mov dword [esp + 0x5c], eax
mov eax, dword [0x44f520]
mov ebp, dword [0x44f524]
lea edi, [eax - 1]
mov dword [esp], ebp
imul edi, eax
mov eax, edi
mov esi, edi
not eax
and esi, 0xa2d4405
mov ecx, eax
and eax, 0xc54a56bf
and ecx, 0x21000112
or esi, ecx
mov ecx, edi
xor ecx, 0x2b2d4517
xor esi, 0xa2d4405
and ecx, edi
mov ebx, esi
and edi, 0x3ab5a940
and ebx, ecx
xor ecx, esi
or edi, eax
or ecx, ebx
xor edi, 0x3ab5a940
mov esi, ecx
and ecx, 0xd4d6fe6a
not esi
and esi, 0x2b290195
or ecx, esi
mov esi, ecx
xor ecx, 0x44003
xor esi, 0x769a044
and ecx, 0xf8965b3b
and esi, 0x769a4c4
or esi, ecx
xor esi, 0x769a4c4
mov eax, esi
and eax, edi
xor edi, esi
mov esi, 0x4bf1aa35
or edi, eax
mov eax, edi
and edi, 0x1d1658c1
not eax
and eax, 0xe2e9a73e
or edi, eax
xor edi, 0x1d1658c1
sete dl
setne ah
sete byte [esp + 0x57]
cmp ebp, 9
setg al
cmp ebp, 0xa
mov ecx, edx
mov ch, dl
mov ebp, 0x5311e092
setl bl
setl byte [esp + 0x50]
xor cl, al
or ch, al
not cl
mov bh, ch
and ah, bl
or bl, dl
and cl, al
and al, dl
xor bl, 1
xor bh, cl
xor cl, 1
or al, ah
mov edx, ebx
or cl, ch
xor bh, 1
and dl, al
xor al, bl
xor cl, 1
or al, dl
or cl, bh
xor cl, 1
mov edx, ecx
xor cl, al
or dl, al
mov eax, dword [esp + 0x74]
mov dh, cl
xor dh, dl
test cl, 1
mov ecx, 0x5311e092
cmovne ecx, esi
test dl, 1
cmovne ecx, ebp
test dh, 1
mov eax, dword [eax + 0x10]
cmove ecx, esi
mov esi, 0xbdc2313d
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
nop dword [eax]
cmp esi, 0x4bf1aa34
jg 0x404610
cmp esi, 0x8b3e1c15
je 0x404637
cmp esi, 0xbdc2313d
jne 0x404560
movzx edx, byte [esp + 0x57]
mov dh, byte [esp + 0x50]
mov esi, 0x8b3e1c15
mov bl, dh
xor bl, dl
mov ecx, ebx
and bl, dl
xor dl, 1
xor cl, 1
xor bl, 1
mov bh, cl
xor bh, dl
xor dl, dh
xor dl, 1
and bh, cl
and dl, dh
xor dl, 1
mov ecx, edx
xor cl, bl
or bl, dl
xor bl, 1
or bl, cl
mov ecx, ebx
xor cl, 1
mov edx, ecx
mov ch, cl
and dl, bl
or bl, bh
and ch, dl
xor dl, cl
xor bl, 1
or dl, ch
xor dl, bh
xor bh, cl
xor bh, 1
mov ecx, edx
or bl, bh
xor cl, bl
not cl
test cl, 1
mov ecx, 0x8b3e1c15
cmovne ecx, ebp
test bl, 1
cmovne esi, ecx
test dl, 1
cmovne esi, ecx
cmp esi, 0x4bf1aa34
jle 0x40456c
nop word cs:[eax + eax]
nop dword [eax]
cmp esi, 0x4bf1aa35
je 0x40464d
cmp esi, 0x5311e092
jne 0x404560
mov esi, 0x8b3e1c15
cmp esi, 0x4bf1aa34
jle 0x40456c
jmp 0x404610
mov esi, dword [esp + 8]
mov dword [esp + 0x58], eax
cmp esi, 0x4bf1aa34
jle 0x40456c
jmp 0x404610
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x58]
mov edx, 0xad7ba9ae
mov esi, 0xb9d39158
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x58], ecx
mov ecx, 0xdcf4a5de
cmp dword [eax + 0x14], 0xf
cmova ecx, edx
nop word [eax + eax]
cmp esi, 0xad7ba9ae
je 0x4046a6
cmp esi, 0xdcf4a5de
je 0x4046bb
cmp esi, 0xb9d39158
jne 0x404680
mov eax, dword [esp + 0x58]
mov esi, ecx
cmp esi, 0xad7ba9ae
jne 0x404688
mov edx, dword [esp + 0x50]
mov esi, 0xdcf4a5de
mov eax, dword [edx]
cmp esi, 0xad7ba9ae
jne 0x404688
jmp 0x4046a6
mov esi, ebp
mov edx, ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
not esi
xor edx, 0x2d1e457e
mov ecx, esi
and edx, ebp
and esi, 0xdef4a054
xor ebp, 0x210b5fab
and ecx, 0x2d1e457e
or ebp, esi
mov ebx, ecx
mov esi, eax
and ebx, edx
xor edx, ecx
not esi
or edx, ebx
mov ebx, esi
mov ecx, edx
and edx, 0x29c4ed38
and ebx, 0x38c03001
not ecx
and ecx, 0xd63b12c7
or edx, ecx
mov ecx, edx
xor edx, 0x310016b1
xor ecx, 0x410a002
and edx, 0x31ca1ef5
and ecx, 0xce35e10a
or ecx, edx
mov edx, ecx
xor ecx, 0xef3ebea1
xor edx, 0x1410a
and edx, 0x210b5fab
or ecx, edx
mov edx, ebp
and ebp, 0xba5d82c1
not edx
and edx, 0x45a27d3e
or ebp, edx
mov edx, eax
and eax, 0xa3af7867
or edx, 0xc00c0618
and edx, 0xc60d0eda
or ebx, edx
mov edx, esi
and edx, 0x5c508798
or eax, edx
xor eax, 0x7d5bd833
or eax, esi
or esi, 0x3ec138c3
mov edx, esi
and esi, 0xc60d0eda
not edx
and edx, 0x132c124
or edx, esi
xor edx, ebx
mov esi, edx
and edx, 0x3ec138c3
not esi
and esi, 0xc13ec73c
or edx, esi
mov esi, edx
and edx, 0x36bf9f35
not esi
and esi, 0xc94060ca
or edx, esi
mov esi, edx
xor edx, 0x890000c2
xor esi, 0x36bf9f35
and edx, 0xad2588f6
mov ebx, esi
and esi, 0x210b5fab
and ebx, 0x52da7709
or ebx, edx
xor ebx, 0x8c2ed75d
or esi, ebx
mov ebx, ebp
xor ebp, 0x45a27d3e
mov edx, esi
and esi, 0xc11873ca
xor ebx, 0xba5d82c1
not edx
and ebx, ecx
and edx, 0x3ee78c35
or esi, edx
mov edx, ecx
or ecx, ebp
not edx
and ebp, edx
mov edx, ecx
not edx
or ebp, ebx
mov ebx, ecx
and ebx, 0x9fb4c0e2
and edx, 0x604b3f1d
or edx, ebx
mov ebx, ebp
and ebp, 0x604b3f1d
not ebx
or ecx, ebx
and ebx, 0x9fb4c0e2
or ebp, ebx
not ecx
xor ebp, edx
or ecx, ebp
mov ebp, esi
xor esi, 0x2c00820
xor ebp, 0xc11873ca
and esi, 0xc2d81ae0
not ecx
mov ebx, ebp
xor ebx, eax
and ebx, ebp
and ebp, 0x3d27e51f
or ebp, esi
mov esi, eax
and eax, 0xc2d81ae0
not esi
and esi, 0x3d27e51f
or esi, eax
mov eax, ebx
xor esi, ebp
mov ebp, ecx
and eax, esi
xor esi, ebx
or esi, eax
xor ebp, esi
mov ebx, esi
not ebp
not ebx
and ebp, esi
and ebx, 0xae09eae
and esi, 0xf51f6151
mov eax, ebp
or esi, ebx
and ebp, 0x21e22b05
xor esi, 0xae09eae
not eax
or esi, ecx
mov ecx, eax
and ecx, 0xde1dd4fa
or eax, esi
or ebp, ecx
mov ecx, esi
and esi, 0xde1dd4fa
not eax
not ecx
and ecx, 0x21e22b05
or ecx, esi
mov esi, 0x8b3e1c15
xor ecx, ebp
or eax, ecx
test edi, edi
mov ecx, dword [esp + 0x10]
mov edi, 0x5311e092
sete byte [esp + 0x57]
cmp dword [esp], 0xa
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ecx
mov ecx, 0xbdc2313d
setl byte [esp + 0x50]
nop word cs:[eax + eax]
nop
cmp ecx, 0x4bf1aa34
jg 0x4049d0
cmp ecx, 0x8b3e1c15
je 0x4049f7
cmp ecx, 0xbdc2313d
jne 0x404900
movzx ebx, byte [esp + 0x57]
movzx ecx, byte [esp + 0x50]
mov eax, ebx
mov dh, cl
xor al, 1
mov dl, al
xor dl, bl
or bl, cl
xor cl, 1
and dl, al
or dh, cl
xor bl, 1
mov ch, dl
mov bh, dl
xor dh, 1
xor ch, 1
and bh, ch
or ch, dl
mov ah, bh
xor bh, dl
xor ch, 1
and ah, dl
or bh, ah
mov ah, cl
mov dl, bh
and ah, dh
xor dh, cl
xor cl, al
mov al, bl
and dl, ch
xor ch, bh
or dh, ah
and al, cl
xor cl, bl
or ch, dl
or cl, al
xor ch, 1
mov bh, ch
or ch, dh
xor bh, dh
xor bh, 1
and bh, dh
xor bh, 1
mov ah, bh
or bh, ch
xor ah, ch
xor bh, 1
or bh, ah
mov al, bh
mov ah, bh
xor al, cl
xor cl, 1
xor ah, cl
or cl, bh
xor al, 1
xor cl, 1
or cl, al
mov al, cl
xor al, ah
test cl, 1
mov ecx, 0x8b3e1c15
cmovne ecx, edi
test ah, 1
cmove ecx, edi
test al, 1
cmove ecx, esi
cmp ecx, 0x4bf1aa34
jle 0x40490c
nop dword [eax]
cmp ecx, 0x4bf1aa35
je 0x404a11
cmp ecx, 0x5311e092
jne 0x404900
mov ecx, 0x8b3e1c15
cmp ecx, 0x4bf1aa34
jle 0x40490c
jmp 0x4049d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x58], eax
cmp ecx, 0x4bf1aa34
jle 0x40490c
jmp 0x4049d0
mov eax, dword [esp + 0x58]
mov dword [esp + 0x10], 0
shr eax, 2
mov dword [esp + 0x30], eax
mov eax, 0x5467bbf7
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
mov eax, dword [esp + 0x34]
mov eax, 0x8ad9ca84
nop
cmp eax, 0x12618fcd
jle 0x404e70
cmp eax, 0x538e1b76
jle 0x404a80
cmp eax, 0x5806e273
jle 0x40516b
cmp eax, 0x775db0d9
je 0x405248
cmp eax, 0x7ecfee45
je 0x405263
cmp eax, 0x5806e274
jne 0x404a40
jmp 0x405c87
cmp eax, 0x337e073d
jg 0x4051b8
cmp eax, 0x12618fce
je 0x405287
cmp eax, 0x2d5cbd99
jne 0x404a40
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x2c]
imul edi, dword [ecx + eax*4], 0x5bd1e995
mov eax, edi
shr eax, 0x18
mov edx, eax
mov esi, eax
and eax, 0xffffffd2
not edx
or esi, 0x81ae104
mov ebx, edx
mov ecx, edx
and esi, 0x81ae177
and ebx, 0x2d
and ecx, 0xa0000880
or eax, ebx
or ecx, esi
mov esi, edi
not eax
not esi
or eax, edx
or edx, 0xe2a40cf3
mov ebx, edx
and edx, 0x4abee577
not ebx
and ebx, 0xfffffff8
or ebx, edx
xor ebx, ecx
mov edx, ebx
and ebx, 0x60200c99
not edx
and edx, 0xd524366
or ebx, edx
mov edx, ebx
xor ebx, 0x21300290
xor edx, 0x80053028
and ebx, 0x23b882d2
and edx, 0xcc477d2d
or edx, ebx
mov ebx, edi
mov ebp, edx
and ebx, 0xd9d82365
xor ebp, 0x33b882d2
and ebp, edx
mov edx, esi
and edx, 0x2627dc9a
or ebx, edx
mov edx, esi
and esi, 0x6b4171bd
xor ebx, 0xd9d82365
and edx, edi
and edi, 0x94be8e42
mov ecx, ebx
or edi, esi
and ecx, edx
xor edx, ebx
mov esi, edi
xor edi, 0x68417195
mov ebx, eax
or edx, ecx
xor esi, 0x94be8e42
and edi, 0xecf5fb97
not ebx
mov ecx, edx
xor edx, 0xcc477d2d
mov dword [esp + 0x14], ebx
not ecx
and ecx, 0x33b882d2
or edx, ecx
mov ecx, esi
and esi, 0xcc477d2d
and ecx, 0x130a0468
mov ebx, edx
and edx, 0x671903aa
or ecx, edi
mov edi, dword [esp + 0x14]
not ebx
xor ecx, 0x20b286ba
or esi, ecx
mov ecx, esi
and esi, 0x776d52ed
not ecx
and ecx, 0x8892ad12
or esi, ecx
mov ecx, ebp
not ecx
and edi, ecx
or ecx, eax
and eax, ebp
mov ebp, ecx
or eax, edi
mov edi, ecx
not ebp
and edi, 0xf43b616
and ebp, 0xffffffe9
or ebp, edi
mov edi, eax
and eax, 0xf0bc49e9
not edi
or ecx, edi
and edi, 0xf43b616
or eax, edi
not ecx
mov edi, esi
xor esi, 0x8892ad12
xor eax, ebp
xor edi, 0x10645045
or ecx, eax
mov eax, ebx
and edi, 0x98e6fc55
xor eax, esi
and esi, 0x671903aa
and eax, ebx
and ebx, 0x98e6fc55
or edi, esi
or ebx, edx
mov edx, eax
xor edi, ebx
and edx, edi
xor edi, eax
mov eax, ecx
or edi, edx
mov edx, ecx
and eax, 0x1e950ae6
not edx
not edi
and edx, 0xe16af519
or eax, edx
xor eax, 0xe16af519
or eax, edi
xor edi, ecx
not edi
mov edx, eax
mov esi, eax
and edi, ecx
not edx
and esi, 0x1697f448
mov ecx, edi
and edi, 0xe9680bb7
and edx, 0xe9680bb7
not ecx
or edx, esi
or eax, ecx
and ecx, 0x1697f448
or edi, ecx
imul ecx, dword [esp + 0x48], 0x5bd1e995
not eax
xor edi, edx
or eax, edi
imul esi, eax, 0x5bd1e995
mov eax, ecx
mov ebx, ecx
mov edx, esi
or eax, 0x212495ec
xor ebx, 0xdedb6a13
or edx, 0x8088ac03
mov edi, eax
mov ebp, eax
and ebx, ecx
and edx, 0x94a8ad43
not edi
and ebp, 0x8ceb1891
and edi, 0x52106202
or edi, ebp
mov ebp, ebx
and ebx, 0x7314e76e
not ebp
or eax, ebp
and ebp, 0x8ceb1891
or ebx, ebp
not eax
xor ebx, edi
or eax, ebx
mov edi, eax
and eax, 0xdedb6a13
not edi
and edi, 0x212495ec
or eax, edi
mov edi, eax
and eax, 0xb6e4f6a6
not edi
and edi, 0x491b0959
or eax, edi
mov edi, eax
xor eax, 0x491b0959
and eax, esi
not esi
xor edi, 0xb6e4f6a6
and edi, esi
mov ebx, esi
or eax, edi
and ebx, 0x22510090
not eax
or ebx, edx
or eax, esi
or esi, 0x367101d0
mov edi, esi
and esi, 0x94a8ad43
not edi
and edi, 0x4906522c
or edi, esi
xor edi, ebx
mov ebx, ecx
mov edx, edi
and edi, 0x367101d0
not ebx
not edx
and edx, 0xc98efe2f
or edi, edx
and ecx, edi
not edi
and edi, ebx
or edi, ecx
xor ebx, edi
and ebx, edi
mov edi, eax
mov edx, ebx
mov esi, ebx
mov ecx, ebx
xor edi, 0x11a71ec2
xor esi, 0xee58e13d
or edx, 0x11a71ec2
not ecx
and esi, ebx
mov ebx, edx
mov ebp, edx
not ebx
and ebp, 0x8e5ed4a1
and ebx, 0x6000211c
or ebx, ebp
mov ebp, esi
and esi, 0x71a12b5e
not ebp
or edx, ebp
and ebp, 0x8e5ed4a1
or esi, ebp
mov ebp, ecx
xor ecx, eax
not edx
and ebp, eax
not eax
xor esi, ebx
and edi, eax
or eax, 0x11a71ec2
or edx, esi
or ecx, ebp
mov ebx, eax
mov esi, eax
not ebx
and esi, 0x805fafad
and ebx, 0x6e004010
or ebx, esi
mov esi, edi
and edi, 0x7fa05052
not esi
or eax, esi
and esi, 0x805fafad
or edi, esi
mov esi, edx
not eax
and edx, 0x42f30278
not esi
xor edi, ebx
or eax, edi
and esi, 0xbd0cfd87
mov edi, ecx
or edx, esi
mov esi, eax
and eax, 0x42f30278
not edi
not esi
and edi, 0x54bc0dbd
and esi, 0xbd0cfd87
or eax, esi
xor eax, edx
mov esi, eax
and eax, 0x54bc0dbd
not esi
mov edx, esi
or esi, ecx
and ecx, 0xab43f242
and edx, 0xab43f242
or edi, ecx
not esi
lea ecx, [esp + 0x20]
or eax, edx
xor edi, eax
or esi, edi
mov dword [esp + 0x14], esi
call fcn.00408b90
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x10], eax
mov eax, 0x5467bbf7
cmp eax, 0x12618fcd
jg 0x404a4b
nop word [eax + eax]
cmp eax, 0xccc2e6d3
jg 0x404ec0
cmp eax, 0xb7c2aa89
jg 0x4051e2
cmp eax, 0x8ad9ca84
je 0x4054c4
cmp eax, 0x9ddd1b61
jne 0x404a40
mov ecx, dword [esp + 0x44]
mov eax, 0x12618fce
mov dword [esp + 8], ecx
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
cmp eax, 0xebf5bec4
jg 0x405214
cmp eax, 0xccc2e6d4
je 0x405612
cmp eax, 0xd562d0f4
jne 0x404a40
mov eax, dword [esp + 0x30]
shl eax, 2
add eax, dword [esp + 0x2c]
mov ecx, dword [0x44f520]
mov dword [esp + 0x34], eax
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
or ecx, 0x18f092fb
xor esi, 0xe70f6d04
mov edx, ecx
mov edi, ecx
and esi, eax
not edx
and edi, 0x7f124ab4
and edx, 0x800d2500
or edx, edi
mov edi, esi
and esi, 0x80edb54b
not edi
or ecx, edi
and edi, 0x7f124ab4
or esi, edi
not ecx
mov edi, 0x4bf1aa35
xor esi, edx
mov edx, eax
and eax, 0x90168721
or ecx, esi
not edx
mov esi, ecx
and ecx, 0xe70f6d05
and edx, 0x6fe978de
not esi
or eax, edx
and esi, 0x18f092fa
or ecx, esi
mov edx, ecx
and ecx, 0x3aa8bf50
not edx
mov esi, edx
and esi, 0xc55740af
or ecx, esi
mov esi, eax
xor eax, 0x4541408e
xor esi, 0x10008700
and eax, 0xc55740af
and esi, 0x3aa8bf50
or esi, eax
mov eax, dword [0x44f524]
xor esi, ecx
xor edx, esi
test edx, esi
mov esi, 0x5311e092
sete cl
sete byte [esp + 0x57]
cmp eax, 9
setg dl
cmp eax, 0xa
mov eax, edx
setl byte [esp + 0x50]
xor al, cl
mov ah, al
xor ah, dl
or dl, cl
and ah, al
not al
xor dl, 1
and al, cl
mov ecx, eax
and cl, dl
xor dl, al
or dl, cl
xor dl, ah
mov al, dl
mov ecx, edx
not al
and al, ah
xor cl, al
test dl, dl
cmovne esi, edi
test al, al
mov eax, 0x5311e092
cmove esi, eax
mov eax, dword [esp + 0x74]
test cl, 1
cmovne esi, edi
mov edi, dword [eax + 0x10]
mov eax, 0xbdc2313d
cmp eax, 0x4bf1aa34
jg 0x405130
cmp eax, 0x8b3e1c15
je 0x405158
cmp eax, 0xbdc2313d
jne 0x405000
movzx edx, byte [esp + 0x57]
movzx ecx, byte [esp + 0x50]
mov ebx, edx
mov byte [esp + 0x18], cl
xor bl, 1
mov ch, bl
mov eax, ebx
and ch, dl
xor al, ch
xor ch, 1
or ch, dl
xor ch, 1
or ch, al
mov eax, ecx
xor cl, 1
mov dh, cl
mov byte [esp + 6], cl
and dh, al
mov eax, ecx
and al, dh
xor dh, cl
mov cl, ch
or dh, al
movzx eax, byte [esp + 0x18]
mov ah, dh
mov bh, dh
xor ah, 1
xor bh, ch
mov byte [esp + 7], ah
or ah, dh
or dh, ch
xor ch, 1
xor bh, 1
or cl, ch
xor ch, byte [esp + 7]
xor dh, 1
xor dl, cl
or cl, bl
xor cl, 1
xor dl, 1
mov bl, cl
and bl, dl
xor dl, cl
mov cl, ah
and ah, al
or dh, ch
or dl, bl
mov bl, byte [esp + 6]
xor cl, 1
and bl, cl
or ah, bl
mov bl, cl
or cl, al
xor bl, al
xor cl, 1
or cl, bl
mov bl, cl
xor bl, ah
xor ah, 1
or ah, cl
xor bl, 1
xor ah, 1
or ah, bl
mov cl, ah
xor cl, 1
and cl, dl
xor dl, 1
and dl, ah
or cl, dl
mov dl, bh
xor dl, dh
or dh, bh
mov ebx, 0x5311e092
xor dh, 1
or dh, dl
mov al, dh
xor al, 1
mov dl, al
and dl, dh
mov ah, dl
xor dl, al
and ah, al
or dl, ah
xor dl, cl
xor cl, 1
mov eax, ecx
xor cl, dh
and al, dh
or cl, al
mov eax, 0x8b3e1c15
mov ch, cl
xor ch, dl
test cl, 1
cmovne eax, ebx
test dl, 1
mov edx, 0x8b3e1c15
cmove eax, ebx
test ch, 1
cmove eax, edx
cmp eax, 0x4bf1aa34
jle 0x40500b
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x4bf1aa35
je 0x40564f
cmp eax, 0x5311e092
jne 0x405000
mov eax, 0x8b3e1c15
cmp eax, 0x4bf1aa34
jle 0x40500b
jmp 0x405130
mov dword [esp + 0x58], edi
mov eax, esi
cmp eax, 0x4bf1aa34
jle 0x40500b
jmp 0x405130
cmp eax, 0x538e1b77
je 0x4056f0
cmp eax, 0x5467bbf7
jne 0x404a40
mov eax, dword [esp + 0x14]
mov edx, 0xccc2e6d4
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
mov eax, 0xd562d0f4
cmovl eax, edx
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
cmp eax, 0x337e073e
je 0x405aea
cmp eax, 0x52240db2
jne 0x404a40
cmp dword [esp + 0x1c], 0x64
mov eax, 0x2d5cbd99
mov ecx, 0x337e073e
jmp 0x405274
cmp eax, 0xb7c2aa8a
je 0x404a35
cmp eax, 0xb98b6897
jne 0x404a40
mov ecx, dword [esp + 0x48]
mov eax, 0x5806e274
mov dword [esp], ecx
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
cmp eax, 0xebf5bec5
je 0x405b92
cmp eax, 0xff1c60d8
jne 0x404a40
mov eax, dword [esp + 0x38]
mov ecx, 0x538e1b77
mov dword [esp + 0xc], 0
cmp eax, 1
mov eax, 0xb98b6897
jmp 0x405c5b
mov eax, dword [esp + 0x38]
mov ecx, 0x12618fce
mov dword [esp + 8], 0
cmp eax, 3
mov eax, 0xebf5bec5
jmp 0x405274
mov eax, dword [esp + 0x38]
mov ecx, 0xff1c60d8
cmp eax, 2
mov eax, 0x775db0d9
cmovl eax, ecx
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 8]
movsx eax, byte [eax + 1]
mov edi, ebx
not edi
shl eax, 8
mov edx, eax
mov ecx, eax
not edx
xor ecx, 0xd90400
mov esi, edx
and ecx, eax
and eax, 0xe5e9de00
and esi, 0x1a162100
or eax, esi
xor eax, 0xa356d200
or eax, edx
and edx, 0xd90471
mov esi, edx
and esi, ecx
xor ecx, edx
or ecx, esi
mov esi, ebx
mov edx, ecx
and ecx, 0xd90471
xor esi, 0x4381425e
not edx
and esi, ebx
and edx, 0xff26fb8e
or ecx, edx
mov edx, ecx
xor ecx, 0x46bf0c0b
not edx
and edx, 0xb940f3f4
or ecx, edx
mov edx, ecx
and ecx, 0x8bcad47f
not edx
and edx, 0x74352b80
or ecx, edx
mov edx, edi
and edi, 0x70385779
and edx, 0x4381425e
mov ebx, edx
and ebx, esi
xor esi, edx
or esi, ebx
mov ebx, ecx
xor ecx, 0x74352b80
mov edx, esi
and esi, 0xe29abe5e
xor ebx, 0x8bcad47f
not edx
and edx, 0x1d6541a1
or esi, edx
mov edx, esi
xor esi, 0x1c64030f
xor edx, 0x2111b400
and esi, 0x9c6e4b0f
and edx, 0x6391b4f0
or edx, esi
mov esi, edx
xor edx, 0xc280206
xor esi, 0x6391b4f0
and edx, 0x2d3912b6
mov ebp, esi
and esi, 0xb940f3f4
and ebp, 0xd2c6ed49
or ebp, edx
mov edx, dword [esp + 8]
xor ebp, 0x9479e142
or esi, ebp
and edx, 0x8fc7a886
or edx, edi
mov edi, edx
xor edx, 0xc978a48d
xor edi, 0x6870802
and edi, 0x46bf0c0b
or edx, edi
mov edi, edx
and edx, 0x8410eb9f
not edi
and edi, 0x7bef1460
or edx, edi
mov edi, eax
not edi
and edi, ecx
or ecx, eax
and eax, ebx
mov ebx, edx
xor edx, 0x7bef1460
xor ebx, 0x8410eb9f
not ecx
or eax, edi
mov edi, ecx
and ebx, esi
not esi
and edi, eax
xor eax, ecx
mov ecx, esi
xor ecx, edx
and edx, esi
or eax, edi
and ecx, esi
or edx, ebx
mov ebp, eax
mov esi, ecx
mov edi, edx
and ecx, 0x71eaf8a9
and edx, 0x71eaf8a9
xor ebp, 0x4e833af2
not esi
not edi
and ebp, eax
mov ebx, esi
or esi, edi
and edi, 0x8e150756
and ebx, 0x8e150756
or edx, edi
not esi
or ecx, ebx
xor edx, ecx
mov ecx, eax
not eax
or esi, edx
and eax, 0xc651df20
and ecx, 0x39ae20df
mov ebx, esi
or ecx, eax
mov eax, esi
xor ebx, 0x4e833af2
mov edi, ecx
xor ecx, 0x46011a20
and eax, 0x40831022
and ebx, esi
not esi
or ecx, 0xb17cc50d
xor edi, 0xd0
and esi, 0xe002ad0
and edi, 0x420018d0
or eax, esi
mov esi, ecx
and esi, 0xbcfba623
xor eax, 0x40831022
or edi, esi
mov esi, ebp
and ebp, 0x430459dc
not esi
or ecx, esi
and esi, 0xbcfba623
or ebp, esi
not ecx
mov esi, eax
xor ebp, edi
and esi, ebx
xor ebx, eax
or ecx, ebp
or ebx, esi
mov eax, ecx
not eax
and eax, ebx
not ebx
and ebx, ecx
or ebx, eax
mov eax, 0x538e1b77
mov dword [esp + 0xc], ebx
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
mov eax, dword [esp + 0x34]
movsx eax, byte [eax + 2]
shl eax, 0x10
mov dword [esp + 0x44], eax
mov eax, dword [0x44f528]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov esi, ecx
not eax
or esi, 0x3c40150
mov edx, eax
mov edi, eax
and esi, 0xd3e409d2
and eax, 0x53c59c17
and edi, 0x10b629
or edx, 0xd030beab
or edi, esi
mov esi, edx
and edx, 0xd3e409d2
not esi
and esi, 0x2c0b4004
or esi, edx
xor esi, edi
mov edx, esi
and esi, 0xb5491cbf
not edx
and edx, 0x4ab6e340
or esi, edx
mov edx, esi
xor esi, 0x8a840caa
xor edx, 0x559a015
and esi, 0xeaa40eaa
and edx, 0x155bf155
or edx, esi
mov esi, edx
xor edx, 0xeaa40eaa
mov edi, edx
xor esi, 0x11419015
or edx, ecx
and ecx, 0xac3a63e8
and edi, 0xac3a63e8
and esi, 0x53c59c17
or eax, ecx
not edx
mov ecx, dword [0x44f52c]
or esi, edi
xor eax, esi
mov esi, 0xb7c2aa8a
or edx, eax
mov eax, edx
and edx, 0x1716b5b6
not eax
and eax, 0xe8e94a49
or edx, eax
xor edx, 0x1716b5b6
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
or ah, dl
mov ch, cl
or al, cl
and cl, dl
xor ch, dl
or ch, cl
mov cl, al
or al, ah
mov dl, ch
xor cl, ah
xor al, 1
not dl
or al, cl
and dl, ch
xor al, 1
xor dl, 1
mov cl, dl
or dl, ch
xor cl, ch
xor dl, 1
or dl, cl
mov cl, ch
xor dl, al
and cl, al
xor al, ch
or al, cl
mov ebx, edx
xor bl, al
test al, 1
mov eax, 0x9ddd1b61
cmovne eax, esi
test dl, 1
not bl
mov edx, 0x9ddd1b61
cmovne eax, esi
test bl, 1
cmove eax, edx
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
lea eax, [esp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
jmp 0x405c72
mov eax, dword [esp + 0x58]
mov edx, eax
mov esi, eax
mov ebx, eax
and eax, 0x7dc75f3d
not edx
and esi, 0x82a9060c
and ebx, 3
mov ecx, edx
and edx, 0x8238a0c2
and ecx, 0x7d56f9f0
or eax, edx
or esi, ecx
mov edx, eax
xor eax, 0x8238a0c2
xor esi, 0x82a9060c
xor edx, 0x7cc15714
or ebx, esi
and edx, 0xfcc95796
mov esi, ebx
and ebx, 0x3891318b
not esi
and esi, 0xc76ece74
or ebx, esi
mov esi, ebx
xor ebx, 0xc76ece74
mov edi, ebx
xor esi, 0x38811182
or ebx, eax
and eax, 0x336a869
and edi, 0x336a869
and esi, 0xfcc95796
or edx, eax
not ebx
mov eax, 0x7ecfee45
or esi, edi
xor edx, esi
or ebx, edx
not ebx
mov dword [esp + 0x38], ebx
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xc]
mov ebx, ecx
movsx esi, byte [eax]
mov eax, ecx
not ebx
and eax, 0x32510fc5
mov edx, ebx
mov edi, ebx
and ebx, 0xde515714
and edx, 0xcdaef03a
and edi, 0x3ca857e9
or edx, eax
mov eax, edx
xor edx, 0xec0058d1
xor eax, 0x1aea02a
and eax, 0x21aea8eb
or edx, eax
mov eax, ecx
and eax, 0xc357a816
mov ecx, edx
or edi, eax
mov eax, esi
or ecx, 0x3fabf109
xor edi, 0x1d06ff02
not eax
or ebx, edi
mov edi, eax
mov dword [esp], ebx
mov ebx, esi
and edi, 0xb99fe4be
and ebx, 0x46601b41
or ebx, edi
mov edi, eax
xor ebx, 0x46601b41
and edi, esi
and esi, 0xea09335a
mov ebp, ebx
and ebp, edi
xor edi, ebx
or edi, ebp
mov ebp, edi
and edi, 0x1ca04545
not ebp
mov ebx, ebp
and ebp, 0x21aea8eb
and ebx, 0xe35fbaba
or ebx, edi
mov edi, eax
and eax, 0xde515714
and edi, 0x15f6cca5
xor ebx, 0x3d0eedae
or edi, esi
or ebp, ebx
xor edi, 0x3458644e
or eax, edi
mov esi, eax
and eax, 0x6c84137e
not esi
and esi, 0x937bec81
or eax, esi
mov esi, edx
xor esi, 0xc0540ef6
mov dword [esp + 0x18], eax
mov eax, dword [esp]
and esi, edx
mov edi, esi
and esi, 0xd795416d
not edi
mov ebx, edi
or edi, ecx
and ebx, 0x286abe92
not edi
or esi, ebx
mov ebx, ecx
and ecx, 0x286abe92
not ebx
and ebx, 0xc0140064
or ebx, ecx
mov ecx, eax
not ecx
xor ebx, esi
mov esi, ecx
or edi, ebx
or esi, 0xc0540ef6
mov ebx, esi
and esi, 0x198b909b
not ebx
and ebx, 0x26206100
or ebx, esi
mov esi, eax
or esi, 0x3fabf109
mov eax, esi
and esi, 0x198b909b
not eax
and eax, 0xc0540e64
or eax, esi
mov esi, edi
and edi, 0x2cae601c
not esi
xor eax, ebx
and esi, 0xd3519fe3
or edi, esi
mov esi, eax
and eax, 0x2cae601c
not esi
and esi, 0xd3519fe3
or eax, esi
xor eax, edi
mov edi, edx
and edx, 0x2d732f6e
not edi
mov esi, edi
or edi, ecx
and ecx, 0xd28cd091
and esi, 0xd28cd091
not edi
or edx, esi
mov esi, dword [esp]
and esi, 0x2d732f6e
or esi, ecx
mov ecx, esi
mov esi, dword [esp + 0x18]
xor ecx, edx
mov edx, eax
and eax, 0x6e72a208
not edx
or edi, ecx
mov ecx, edx
or edx, edi
and ecx, 0x918d5df7
mov ebx, esi
xor esi, 0x937bec81
not edx
or eax, ecx
mov ecx, edi
xor ebx, 0x6c84137e
and edi, 0x918d5df7
not ecx
and ebx, ebp
not ebp
and ecx, 0x6e72a208
or ecx, edi
xor ecx, eax
mov eax, ebp
xor eax, esi
or edx, ecx
and esi, ebp
mov edi, edx
and eax, ebp
or esi, ebx
and edx, 0xee610ac3
mov ecx, eax
not edi
and ecx, esi
xor esi, eax
mov eax, edi
or edi, 0xcab7ef96
or esi, ecx
and eax, 0x119ef53c
mov ecx, edi
and edi, 0x785e2d7b
or edx, eax
mov eax, esi
mov ebp, esi
xor esi, 0xcab7ef96
not ecx
mov ebx, edx
xor edx, 0x162510
and esi, ebp
not ebp
and eax, 0xc224e902
and ecx, 0x5001000
xor ebx, 0x82210280
or edx, 0x30480069
and ebp, 0x8930694
or ecx, edi
or eax, ebp
and edx, 0x785e2d7b
and ebx, 0x82a1c284
or ebx, edx
xor eax, 0xc224e902
mov edx, eax
xor ecx, ebx
and edx, esi
xor esi, eax
mov eax, ecx
and ecx, 0xf4d8c1e4
not eax
or esi, edx
and eax, 0xb273e1b
or ecx, eax
mov eax, esi
and esi, 0xf4d8c1e4
not eax
and eax, 0xb273e1b
or esi, eax
xor esi, ecx
mov ecx, dword [esp + 0x48]
imul edx, esi, 0x5bd1e995
mov esi, edx
mov edi, edx
not esi
and edi, 0xd5cefb24
mov dword [esp], esi
and esi, 0x2a3104db
mov ebp, ecx
or edi, esi
and ebp, 0x20348749
mov esi, edi
and edi, 0x19126f5d
not esi
and esi, 0xe6ed90a2
or edi, esi
mov esi, ecx
mov eax, edi
xor edi, 0x4049461
not esi
xor eax, 0x21036082
and edi, 0x16249f65
and eax, 0xe9db609a
or eax, edi
mov edi, esi
mov ebx, eax
xor eax, 0x16001824
and edi, 0xdfcb78b6
xor ebx, 0x20100008
and eax, 0xdfcb78b6
or ebp, edi
and ebx, 0x20348749
or ebx, eax
mov eax, ecx
xor eax, 0x681ebf7e
xor ebx, ebp
mov edi, ebx
and eax, ecx
or ecx, 0x97e14081
xor edi, esi
mov ebp, eax
and esi, 0x280e043c
and eax, 0xba8e443c
and edi, ebx
mov ebx, ecx
not ebp
or ecx, ebp
and ebx, 0x4571bbc3
and ebp, 0x4571bbc3
or esi, ebx
or eax, ebp
not ecx
xor eax, esi
mov esi, dword [esp]
or ecx, eax
mov eax, ecx
and ecx, 0xfbf24296
not eax
and eax, 0x40dbd69
and esi, 0x9987b4e0
or ecx, eax
mov eax, edx
and eax, 0x66784b1f
or esi, eax
mov eax, ecx
xor ecx, 0x8030000
xor eax, 0x93ecfde8
and ecx, 0x9987b4e0
or edx, eax
and eax, 0x66784b1f
or ecx, eax
not edx
xor ecx, esi
or edx, ecx
mov eax, edx
and edx, 0x2866846a
not eax
and eax, 0xd7997b95
or edx, eax
mov eax, edi
and edi, 0xbb3b7fe6
mov esi, edx
not eax
xor edx, 0xd7997b95
mov ecx, eax
xor esi, 0x28220462
and eax, 0x44c48019
or ecx, edx
and edx, 0x44c48019
and esi, 0xbb3b7fe6
or edi, eax
or esi, edx
not ecx
xor esi, edi
mov eax, ecx
and eax, esi
xor esi, ecx
or esi, eax
mov eax, 0x5806e274
mov dword [esp], esi
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
lea eax, [esp + 0x24]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
cmp eax, dword [esp + 0x28]
mov eax, 0xf472524e
setne byte [esp + 0x57]
nop word cs:[eax + eax]
cmp eax, 0xf7646ef9
jg 0x405b50
cmp eax, 0xbafc4595
je 0x405c6e
cmp eax, 0xf472524e
jne 0x405b10
lea eax, [esp + 0x1c]
mov ecx, 0x7d3c2ef
mov dword [esp + 0x58], eax
mov eax, 0xf7646efa
cmp byte [esp + 0x57], 0
cmovne eax, ecx
cmp eax, 0xf7646ef9
jle 0x405b17
nop word [eax + eax]
cmp eax, 0xf7646efa
je 0x405b71
cmp eax, 0x7d3c2ef
jne 0x405b10
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [ecx], eax
add dword [esp + 0x24], 4
jmp 0x405b84
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x20]
push dword [esp + 0x58]
push dword [eax]
call fcn.00408f90
mov eax, 0xbafc4595
cmp eax, 0xf7646ef9
jle 0x405b17
jmp 0x405b50
mov ecx, dword [0x44f528]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
or ecx, 1
or esi, 0x5f3b419c
mov edx, ecx
and ecx, 0x5f3b419c
and esi, 0x5f3b419d
not edx
and edx, 0xa0c4be62
or edx, ecx
xor esi, edx
mov ecx, esi
and esi, 0x3f94834c
not ecx
mov edx, ecx
and edx, 0xc06b7cb3
or esi, edx
mov edx, eax
and eax, 0xc06b7cb3
not edx
and edx, 0x3f94834c
or edx, eax
xor edx, esi
mov esi, 0xb7c2aa8a
xor ecx, edx
test ecx, edx
mov ecx, dword [0x44f52c]
sete al
setne dl
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl ch
or al, ah
mov cl, ch
xor cl, dl
or dl, ch
xor cl, 1
or cl, ah
mov ah, al
or al, dl
xor ah, dl
mov edx, ecx
xor al, 1
xor dl, 1
or al, ah
and cl, dl
mov ah, cl
xor cl, dl
and ah, dl
or cl, ah
mov ah, dl
xor cl, al
xor ah, al
or al, dl
xor al, 1
or al, ah
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0x8ad9ca84
cmovne eax, esi
test cl, 1
mov ecx, 0x8ad9ca84
cmove eax, esi
test dl, 1
cmove eax, ecx
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
inc dword [esp + 0x1c]
mov eax, 0x52240db2
cmp eax, 0x12618fcd
jg 0x404a4b
jmp 0x404e70
mov ebp, dword [esp]
mov edx, ebp
shr edx, 0xd
mov ecx, edx
mov esi, edx
not ecx
and esi, 0x409bd
mov eax, ecx
and eax, 0x2c93f642
or esi, eax
mov eax, esi
xor esi, 0xc600
xor eax, 0x402401a8
and esi, 0xce15
and eax, 0x60a731ea
or eax, esi
mov esi, ebp
not esi
xor eax, 0x60a731ea
mov edi, esi
and edi, eax
xor eax, esi
or eax, edi
mov edi, eax
and eax, 0xa610c753
not edi
and edi, 0x59ef38ac
or eax, edi
mov edi, esi
and esi, ebp
and ebp, 0xc3af4313
and edi, 0x3c50bcec
or ebp, edi
mov edi, ebp
xor ebp, 0x3c50bcec
xor edi, 0x422f0211
mov ebx, ebp
and ebx, 0xa1c075aa
and edi, 0x5e3f8a55
or edi, ebx
mov ebx, esi
and esi, 0x5e3f8a55
not ebx
or ebp, ebx
and ebx, 0xa1c075aa
or esi, ebx
not ebp
mov ebx, eax
xor eax, 0x59ef38ac
xor esi, edi
xor ebx, 0xa610c753
or ebp, esi
and edx, ebp
not ebp
and ebp, ecx
or ebp, edx
mov edx, ebx
not ebp
or ebp, ecx
mov ecx, ebp
xor edx, ebp
and ebp, ebx
not ecx
and edx, ebx
and eax, ecx
or ebp, eax
mov eax, edx
and edx, 0x5c3bf9a8
mov ecx, ebp
not eax
and ebp, 0x5c3bf9a8
mov esi, eax
not ecx
or eax, ecx
and esi, 0xa3c40657
and ecx, 0xa3c40657
or edx, esi
or ebp, ecx
not eax
xor ebp, edx
or eax, ebp
imul esi, eax, 0x5bd1e995
mov ecx, esi
shr ecx, 0xf
mov edx, ecx
mov eax, ecx
and ecx, 0x166b9
not edx
and eax, 0x1400e
mov edi, edx
and edx, 0xdd0a9946
and edi, 0x8f24bff1
or ecx, edx
or edi, eax
mov edx, ecx
xor ecx, 0x4c533909
mov ebx, edi
xor edi, 0xb380
xor edx, 0x22a446b0
xor ebx, 0x10c8000e
and edi, 0x1f380
and edx, 0x6ea65fb0
and ebx, 0x94ec0c7f
or ecx, edx
or ebx, edi
mov edx, ecx
and ecx, 0x6b3783f2
mov eax, ebx
xor ebx, 0x49035080
not edx
xor eax, 0x94ec0c7f
and edx, 0x94087c0d
and ebx, 0x4d0f5485
mov edi, eax
or ecx, edx
mov edx, esi
and eax, 0x8001a04f
and edi, 0x8020ab7a
not edx
or edi, ebx
mov ebx, edx
xor edi, 0xdc56f4ca
and ebx, 0x98e2f2de
or eax, edi
mov edi, esi
and esi, 0x9159a04f
and edi, 0x671d0d21
or ebx, edi
mov edi, ebx
xor ebx, 0x4090100
xor edi, 0x98e2f2de
and ebx, 0xc4931ce
mov ebp, edi
and edi, 0x9159a04f
and ebp, 0xf3b6ce31
or ebp, ebx
xor ebp, 0x9d109181
or edi, ebp
mov ebx, edi
and edi, 0x4bb1b5d0
not ebx
and ebx, 0xb44e4a2f
or edi, ebx
mov ebx, edx
and ebx, 0x6ea65fb0
or esi, ebx
mov ebx, eax
xor edx, esi
not ebx
and edx, esi
mov esi, ecx
xor ecx, 0x94c87c0d
xor esi, 0x6b3783f2
and esi, eax
or eax, ecx
and ecx, ebx
mov ebx, eax
or ecx, esi
mov esi, eax
not ebx
and esi, 0x8fde6c85
and ebx, 0x7021937a
or ebx, esi
mov esi, ecx
and ecx, 0x7021937a
not esi
or eax, esi
and esi, 0x8fde6c85
or ecx, esi
mov esi, edi
not eax
xor edi, 0xb44e4a2f
xor esi, 0x4111a150
xor ecx, ebx
or eax, ecx
mov ecx, edi
and edi, 0xbeaa1ca2
and esi, 0x4155e35d
or esi, edi
mov edi, edx
and edx, 0x4155e35d
mov ebp, eax
not edi
xor ebp, 0x706af02f
or ecx, edi
and edi, 0xbeaa1ca2
and ebp, eax
or edx, edi
mov edi, ecx
not edi
xor edx, esi
mov esi, ecx
and esi, 0xc24ec330
and edi, 0x3db13ccf
or edi, esi
mov esi, edx
and edx, 0x3db13ccf
not esi
or ecx, esi
and esi, 0xc24ec330
or edx, esi
not ecx
xor edx, edi
mov edi, eax
not eax
or ecx, edx
and eax, 0x300a000f
and edi, 0x4060f020
mov ebx, ecx
or edi, eax
mov esi, ecx
xor ebx, 0x706af02f
xor edi, 0x4060f020
and esi, 0x7008a022
and ebx, ecx
not ecx
and ecx, 0x62500d
or esi, ecx
mov ecx, edi
and ecx, ebp
xor ebp, edi
mov edi, esi
xor esi, 0x8ff75fdd
xor edi, 0x70000020
or ebp, ecx
mov ecx, esi
and ecx, 0x852de917
and edi, 0x70421028
or edi, ecx
mov ecx, ebx
and ebx, 0x7ad216e8
not ecx
or esi, ecx
and ecx, 0x852de917
or ebx, ecx
not esi
xor ebx, edi
mov edi, ebp
and ebp, 0xd6b5bfe1
or esi, ebx
not edi
mov ecx, esi
and esi, 0xd6b5bfe1
and edi, 0x294a401e
not ecx
or ebp, edi
and ecx, 0x294a401e
or esi, ecx
mov ecx, dword [esp + 0x5c]
xor esi, ebp
xor ecx, esp
call fcn.0041e74b
mov eax, esi
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret