Function at 0x4015b0
Capabilities:
Hash data using murmur2
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov eax, dword [0x42d5e0]
mov ecx, dword [esp + 0x78]
mov ebx, 0x8c884e39
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
mov ecx, dword [0x42df18]
mov eax, dword [0x42df1c]
lea ebp, [ecx - 1]
imul ebp, ecx
mov edi, ebp
mov edx, ebp
not edi
and edx, 0x55253cfa
mov ecx, edi
mov dword [esp + 0x1c], edi
and ecx, 0xaadac305
or edx, ecx
mov ecx, edi
and edi, 0xce1f612b
mov esi, edx
xor edx, 0x2ad00304
or ecx, 0x7ff53bde
xor esi, 0x420
or edx, 1
and ecx, 0x7ff53bdf
and edx, 0x7ff53bdf
and esi, 0x800ac420
or esi, edx
xor ecx, esi
mov edx, ecx
and ecx, 0x6316b5f5
not edx
and edx, 0x9ce94a0a
or ecx, edx
mov edx, ecx
xor ecx, 0x9ce94a0a
mov esi, ecx
xor edx, 0x42162121
or ecx, ebp
and esi, 0x31e09ed4
and edx, 0xce1f612b
not ecx
or edx, esi
mov esi, ebp
and esi, 0x31e09ed4
or edi, esi
mov esi, 0xd00f2f7e
xor edi, edx
or ecx, edi
cmp ecx, 0xffffffff
sete ch
setne dh
cmp eax, 0xa
setl cl
cmp eax, 9
setg al
mov byte [esp], cl
mov ah, al
mov byte [esp + 4], al
xor ah, cl
mov cl, dh
and ah, al
xor cl, ch
mov al, ah
and cl, dh
mov byte [esp + 0x10], ah
xor al, 1
mov byte [esp + 8], al
and al, ah
mov edx, eax
mov byte [esp + 0xc], al
xor al, ah
mov dh, byte [esp + 8]
and dl, ah
or al, dl
mov dl, cl
xor dl, 1
or cl, dl
mov ah, dl
xor ah, cl
or cl, dl
xor cl, 1
or cl, ah
mov dl, cl
xor dl, 1
or dl, al
xor al, 1
or al, cl
xor dl, 1
xor al, 1
mov cl, dl
and cl, al
xor al, dl
mov dl, byte [esp + 4]
or al, cl
mov cl, dl
xor cl, ch
xor ch, byte [esp]
and cl, dl
mov dl, cl
xor dl, 1
xor cl, ch
xor ch, 1
or ch, dl
mov dl, al
xor ch, 1
xor dl, 1
or ch, cl
mov cl, ch
xor cl, 1
and ch, cl
mov ah, ch
xor ch, cl
and ah, cl
or ch, ah
and dl, ch
xor ch, 1
and ch, al
or ch, dl
mov dl, al
xor dl, cl
or cl, al
xor cl, 1
or cl, dl
mov dl, byte [esp + 0xc]
mov eax, ecx
xor al, ch
test al, 1
mov eax, 0x766def7
cmovne eax, esi
test cl, 1
mov esi, 0x766def7
cmovne esi, eax
test ch, 1
cmove esi, eax
mov eax, dword [esp + 0x1c]
and ebp, 0x1e4bb2d2
mov dword [esp + 0x18], esi
and eax, 0xe1b44d2d
or ebp, eax
mov eax, ebp
mov edi, ebp
xor ebp, 0xfb8aae4f
xor eax, 0x1e4bb2d2
xor edi, 0xe1b44d2d
mov esi, eax
and ebp, edi
and eax, 0xb4e1b820
and esi, 0x1a3ee362
mov ecx, ebp
and ecx, esi
xor esi, ebp
or esi, ecx
mov ecx, esi
and esi, 0xe5c11c9c
not ecx
and ecx, 0x1a3ee363
or esi, ecx
mov ecx, edi
and edi, 1
and ecx, 0x4b1e47df
or ecx, eax
xor ecx, 0xb4e1b821
or edi, ecx
mov ecx, esi
and esi, 0xd9671601
mov eax, edi
and edi, 0x214a5b2e
not ecx
not eax
and eax, 0xdeb5a4d1
or edi, eax
mov eax, ecx
and eax, 0x2698e9fe
or esi, eax
mov eax, edi
xor edi, 0xdeb5a4d1
xor eax, 0x1421200
or ecx, edi
and edi, 0x2698e9fe
and eax, 0xd9671601
not ecx
or eax, edi
xor eax, esi
or ecx, eax
mov eax, ecx
mov esi, ecx
not eax
and esi, 0xf26a99d4
mov edi, eax
and eax, 0xd95662b
and edi, ecx
or eax, esi
mov esi, edi
and edi, 0xd95662b
not esi
or ecx, esi
and esi, 0xf26a99d4
or edi, esi
not ecx
mov esi, 0xd00f2f7e
xor edi, eax
or ecx, edi
mov eax, ecx
and ecx, 0x7633f99d
not eax
and eax, 0x89cc0662
or ecx, eax
mov eax, ecx
xor ecx, 0x9040442
xor eax, 0x5203a081
and ecx, 0x2d345d5e
and eax, 0xd2cba2a1
or eax, ecx
xor eax, 0x2d345d5e
cmp eax, 0xffffffff
mov ah, byte [esp + 0x10]
mov al, dh
setne cl
sete ch
xor al, dl
xor dl, 1
or dl, ah
or dh, ah
mov ah, byte [esp]
xor dl, 1
xor dh, 1
or dl, al
xor dl, 1
mov al, dl
and al, dh
xor dh, dl
or dh, al
mov al, ch
or al, dh
xor dh, 1
or dh, cl
mov dl, al
and cl, ah
or ah, ch
xor dl, dh
or dh, al
xor ah, 1
xor dh, 1
mov al, ah
or dh, dl
mov dl, byte [esp + 4]
and dl, ch
or dl, cl
and al, dl
xor dl, ah
or dl, al
mov al, dh
xor al, 1
mov ch, dl
mov cl, dl
mov ah, al
and dh, al
mov dl, al
and dl, dh
xor dh, al
and ah, ch
xor al, ch
xor ch, 1
and cl, ch
or dh, dl
mov dl, ch
or al, ah
xor cl, 1
xor dl, cl
or cl, ch
mov ch, al
xor cl, 1
or cl, dl
mov dl, dh
xor dl, 1
and dl, cl
xor cl, 1
and cl, dh
or cl, dl
xor ch, cl
test al, 1
mov eax, 0xa29389ca
cmovne eax, esi
test cl, 1
cmove eax, esi
test ch, 1
mov ecx, 0xa29389ca
cmove eax, ecx
nop word cs:[eax + eax]
nop
cmp ebx, 0x766def6
jg 0x401960
cmp ebx, 0x8c884e39
je 0x4019a0
cmp ebx, 0xa29389ca
je 0x40197a
cmp ebx, 0xd00f2f7e
jne 0x401930
mov ebx, 0xa29389ca
cmp ebx, 0x766def6
jle 0x401938
nop dword [eax]
cmp ebx, 0x766def7
je 0x4019e4
cmp ebx, 0x10ff6b8c
je 0x401988
cmp ebx, 0x57186db1
jne 0x401930
jmp 0x4019d0
mov ebx, dword [esp + 0x18]
cmp ebx, 0x766def6
jle 0x401938
jmp 0x401960
mov ecx, dword [esp + 0x20]
mov ebx, eax
mov dword [esp + 0x5c], ecx
cmp ebx, 0x766def6
jle 0x401938
jmp 0x401960
mov eax, dword [esp + 0x78]
mov ebx, 0x10ff6b8c
cmp dword [eax + 0x14], 0xf
mov ecx, dword [esp + 0x58]
mov eax, 0x57186db1
cmova ebx, eax
mov dword [esp + 0x20], ecx
jmp 0x4015de
mov eax, dword [esp + 0x54]
mov ebx, 0x10ff6b8c
mov eax, dword [eax]
mov dword [esp + 0x20], eax
jmp 0x4015de
mov eax, dword [esp + 0x14]
mov ecx, eax
mov esi, eax
not ecx
xor esi, 0xf9a38b84
mov edx, ecx
mov ebx, ecx
mov ecx, eax
and esi, eax
and edx, 0x1582823d
and ecx, 0xea7d7dc2
or ecx, edx
mov edx, ecx
xor ecx, 0x11828204
or ecx, 0x65c747b
xor edx, 0x20200800
mov edi, ecx
and edx, 0x21a08a04
and edi, 0xdc473592
or edx, edi
mov edi, esi
and esi, 0x23b8ca6d
not edi
or ecx, edi
and edi, 0xdc473592
or esi, edi
not ecx
xor esi, edx
or ecx, esi
mov edx, ecx
and ecx, 0xf9a38b84
not edx
and edx, 0x65c747b
or ecx, edx
mov edx, ecx
and ecx, 0x464d1bf0
not edx
and edx, 0xb9b2e40f
or ecx, edx
mov edx, ecx
xor ecx, 0x8100800d
xor edx, 0x464d1bf0
and ecx, 0xc7458b1d
mov esi, edx
and edx, 0xddc253a8
and esi, 0x38ba74e2
or esi, ecx
mov ecx, eax
mov eax, dword [esp + 0x7c]
xor esi, 0x1a87d8b5
and ecx, 0xf3ee5b20
or edx, esi
mov esi, ebx
and ebx, 0x223dac57
and esi, 0xc11a4df
or esi, ecx
mov edi, eax
xor esi, 0xd1d3f777
not edi
or ebx, esi
mov ecx, edi
mov esi, eax
and ecx, 0x78bbe5b1
and esi, 0x87441a4e
mov ebp, ebx
or esi, ecx
mov ecx, edi
and edi, 0x29c3abc
and ecx, eax
and eax, 0xfd63c543
xor esi, 0x87441a4e
or eax, edi
mov ebx, esi
mov edi, eax
and ebx, ecx
xor ecx, esi
xor eax, 0xdf5e6914
xor edi, 0x20218443
or ecx, ebx
mov ebx, edx
and edi, 0x223dac57
not ebx
mov esi, ecx
xor ecx, 0x223dac57
or eax, edi
mov edi, edx
and ebx, 0x2cfa526c
not esi
or edx, 0x68dca012
and edi, 0xd305ad93
and esi, 0xddc253a8
mov dword [esp + 4], eax
mov eax, ebp
or ebx, edi
mov edi, ebp
xor ebp, 0x97235fed
or ecx, esi
and eax, 0x30dc0c35
not edi
mov esi, ecx
and ecx, 0xc13696b7
and ebp, edi
and edi, 0xcf23f3ca
not esi
mov dword [esp], ebp
mov ebp, ebx
or edi, eax
mov eax, ebx
and esi, 0x3ec96948
xor ebx, 0xd305ad93
xor eax, 0x2cfa526c
xor ebp, 0xbbd90d81
or ecx, esi
and ebp, eax
mov dword [esp + 0x10], eax
mov esi, ebp
and ebp, 0xb0419704
not esi
mov eax, esi
or esi, edx
and eax, 0x4fbe68fb
not esi
or ebp, eax
mov eax, edx
and edx, 0x4fbe68fb
not eax
and eax, 0x90011704
or eax, edx
mov edx, edi
xor eax, ebp
xor edx, 0xcf23f3ca
or esi, eax
mov eax, edi
xor edi, 0x30dc0c35
xor eax, 0x5800ac27
and eax, edx
and edx, 0x144cabc2
mov ebp, eax
and ebp, dword [esp]
xor dword [esp], eax
mov eax, esi
not eax
or dword [esp], ebp
mov ebp, dword [esp]
and eax, ebp
not ebp
and ebp, esi
or ebp, eax
mov eax, ebx
or ebx, edi
and edi, 0xebb3543d
mov esi, ebp
mov ebp, dword [esp + 0x10]
and eax, 0xebb3543d
or edx, edi
not ebx
and ebp, 0x144cabc2
or ebp, eax
mov eax, ecx
xor edx, ebp
mov ebp, dword [esp + 4]
xor eax, 0xc13696b7
or ebx, edx
mov edx, esi
not ebx
and edx, ebx
xor ebx, esi
mov edi, ebp
or ebx, edx
mov edx, ecx
xor ecx, 0x8e116fef
not edi
mov esi, ecx
and ecx, eax
mov eax, ebp
xor edx, 0x3ec96948
and eax, 0x4f27f958
and edi, 0xb0d806a7
and esi, edx
or edi, eax
mov eax, esi
and eax, ecx
xor ecx, esi
or ecx, eax
mov eax, ecx
not eax
and eax, edi
not edi
and edi, ecx
or edi, eax
mov eax, edx
xor edx, ebp
and eax, ebp
or edx, eax
mov eax, edx
and edx, 0xd76174f7
not eax
and eax, 0x289e8b08
or edx, eax
mov eax, edi
and edi, 0xb848230d
mov ecx, edx
not eax
xor edx, 0x289e8b08
mov esi, eax
xor ecx, 0x90402005
or eax, edx
and edx, 0x47b7dcf2
and ecx, 0xb848230d
and esi, 0x47b7dcf2
not eax
or edi, esi
or ecx, edx
xor ecx, edi
or eax, ecx
mov ecx, ebx
and ebx, 0x99b9c0ca
not ecx
mov edx, ecx
and edx, 0x66463f35
or ebx, edx
mov edx, eax
and eax, 0x24e906c1
not edx
xor ebx, 0x66463f35
or ebx, edx
and edx, 0xdb16f93e
or eax, edx
mov esi, ebx
mov edx, ebx
xor eax, 0xdb16f93e
not esi
and edx, 0x62aac2a4
or eax, ecx
and esi, 0x9d553d5b
mov ecx, eax
or ebx, eax
and eax, 0x62aac2a4
or esi, edx
not ecx
not ebx
and ecx, 0x9d553d5b
or ecx, eax
xor ecx, esi
or ebx, ecx
mov dword [esp], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], 0
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x14]
shr eax, 2
mov dword [esp + 0x38], eax
mov eax, 0x2152e173
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
mov eax, dword [esp + 0x3c]
mov edi, ebp
mov ecx, ebp
or edi, 0x19c923b2
xor ecx, 0xe636dc4d
mov esi, edi
and ecx, ebp
and esi, 0x6f853c47
movsx edx, byte [eax]
mov eax, ebp
not eax
mov ebx, eax
and eax, 0xd8b13f84
and ebx, 0x8032c008
or ebx, esi
mov esi, ecx
and ecx, 0x907ac3b8
not esi
or edi, esi
and esi, 0x6f853c47
or ecx, esi
not edi
mov esi, edx
xor ecx, ebx
not esi
or edi, ecx
mov ebx, esi
mov ecx, edi
and edi, 0xe636dc4d
and ebx, 0x96833b3f
not ecx
and ecx, 0x19c923b2
or edi, ecx
mov ecx, esi
and ecx, edx
and edx, 0x697cc4c0
or edx, ebx
mov ebx, edi
and edi, 0x96833b3f
not ebx
and ebx, 0x697cc4c0
or ebx, edi
mov edi, esi
xor ebx, edx
and edi, ecx
xor ecx, esi
mov edx, ebx
or ecx, edi
xor edx, esi
mov esi, ebp
not ecx
and esi, 0x274ec07b
and edx, ebx
or esi, eax
mov edi, edx
xor esi, 0x274ec07b
mov eax, esi
and eax, ecx
xor ecx, esi
mov esi, edx
or ecx, eax
not esi
mov eax, ecx
and ecx, 0xeeb38b13
and esi, 0x6e40366e
not eax
and eax, 0x114c74ec
or ecx, eax
mov eax, ecx
xor ecx, 0x114c74ec
xor edi, ecx
xor eax, 0x80b38911
and ecx, 0x6e40366e
and eax, 0x91bfc991
and edi, edx
and edx, 0x91bfc991
or eax, ecx
or edx, esi
mov ecx, edi
and edi, 0x1ca8867d
xor eax, edx
not ecx
mov edx, eax
mov esi, ecx
and eax, 0x1ca8867d
not edx
and esi, 0xe3577982
or ecx, edx
and edx, 0xe3577982
or edi, esi
or eax, edx
not ecx
xor eax, edi
or ecx, eax
imul eax, ecx, 0x5bd1e995
mov ecx, eax
mov edx, eax
not ecx
and edx, 0x9b0675c4
mov esi, ecx
mov edi, ecx
and edi, 0x64f98a3b
and esi, eax
or edi, edx
mov edx, esi
and esi, 0x64f98a3b
not edx
or eax, edx
and edx, 0x9b0675c4
or esi, edx
not eax
mov edx, dword [esp + 0x4c]
xor esi, edi
or eax, esi
mov esi, eax
and eax, 0xce08f3f0
not esi
mov edi, edx
and esi, 0x31f70c0f
not edi
or eax, esi
mov esi, eax
xor eax, 0x31f70c0f
xor esi, 0xce08f3f0
and eax, edx
and edx, 0x75529c2e
and esi, edi
or eax, esi
not eax
or eax, edi
and edi, 0x8aad63d1
or edx, edi
mov esi, edx
and edx, 0xebf77c9
not esi
and esi, 0xf1408836
or edx, esi
mov esi, eax
mov edi, edx
xor edx, 0x592dc904
xor edi, 0x80001408
and edx, 0x5d3fc914
and edi, 0xa2c036eb
or edi, edx
mov edx, ecx
xor edi, 0xa2c036eb
and edx, edi
xor edi, ecx
mov ecx, eax
and eax, 0xec22cebc
not ecx
or edi, edx
and ecx, 0x13dd3143
or esi, edi
or ecx, eax
mov eax, edi
and edi, 0xec22cebc
mov edx, esi
mov ebx, esi
not eax
not edx
and ebx, 0x6c6c12ef
and eax, 0x13dd3143
and edx, 0x9393ed10
or eax, edi
or edx, ebx
xor eax, ecx
mov edi, eax
and eax, 0x9393ed10
not edi
or esi, edi
and edi, 0x6c6c12ef
or eax, edi
not esi
xor eax, edx
or esi, eax
mov eax, 0xac7880fa
mov dword [esp + 0x10], esi
nop dword [eax + eax]
cmp eax, 0x5b08db7
jle 0x402020
cmp eax, 0x3d661dfa
jle 0x401fd0
cmp eax, 0x6b1e546a
jg 0x402146
cmp eax, 0x3d661dfb
je 0x4021a1
cmp eax, 0x57847825
jne 0x401f80
cmp dword [esp + 0x24], 0x64
mov eax, 0x8d05375c
mov ecx, 0xcd25ea4
jmp 0x402c48
cmp eax, 0x5b08db8
je 0x402390
cmp eax, 0xcd25ea4
je 0x4023b4
cmp eax, 0x2152e173
jne 0x401f80
mov eax, dword [esp]
mov edx, 0x6d0b4da7
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
cmp ecx, eax
mov eax, 0x9d35514f
cmovl eax, edx
cmp eax, 0x5b08db7
jg 0x401f8b
nop
cmp eax, 0xac7880f9
jle 0x402070
cmp eax, 0xe18c3f76
jle 0x402186
cmp eax, 0xe18c3f77
je 0x401d40
cmp eax, 0xf19120df
jne 0x401f80
mov ecx, dword [esp + 0x4c]
mov eax, 0xac7880fa
mov dword [esp + 0x10], ecx
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
cmp eax, 0x8d05375c
je 0x40271e
cmp eax, 0x94f41fc7
je 0x402bf6
cmp eax, 0x9d35514f
jne 0x401f80
mov eax, dword [esp + 0x38]
shl eax, 2
add eax, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x10]
mov edx, ecx
mov eax, ecx
xor edx, 0x2d977777
or eax, 0xd2688888
and edx, ecx
mov esi, eax
mov ebx, eax
not ecx
mov edi, edx
not esi
and ebx, 0xb1eb4197
and edx, 0x4e14be68
not edi
and esi, 0xc143660
or eax, edi
and edi, 0xb1eb4197
or esi, ebx
or edx, edi
not eax
xor edx, esi
or eax, edx
mov edx, eax
and eax, 0x2d977774
not edx
and edx, 0xd268888b
or eax, edx
mov edx, eax
and eax, 0xc0b12ca2
not edx
and edx, 0x3f4ed35d
or eax, edx
xor eax, 0xc0b12ca2
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x94211b46
not ecx
and ecx, 0x6bdee4b9
or eax, ecx
xor eax, 0x94211b46
mov dword [esp + 0x40], eax
mov eax, 0xd8bc902c
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
cmp eax, 0x6b1e546b
je 0x402c11
cmp eax, 0x6d0b4da7
jne 0x401f80
lea ecx, [esp + 0x28]
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x44]
call fcn.004032c0
lea eax, [esp + 0x24]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x24], 0
jmp 0x402c5f
cmp eax, 0xd8bc902c
je 0x402c37
cmp eax, 0xac7880fa
jne 0x401f80
jmp 0x402ec4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 4]
movsx esi, byte [eax + 1]
mov edi, ecx
mov ebx, ecx
not edi
and ebx, 0x11e202b8
shl esi, 8
mov edx, esi
mov dword [esp + 0xc], esi
and esi, 0xa0f67e00
not edx
mov eax, edx
and eax, 0x5f098102
or esi, eax
mov eax, esi
xor esi, 0x6088000
xor eax, 0xa0c23e50
and esi, 0x63cc000
and eax, 0xf9c33f50
or eax, esi
mov esi, edi
mov ebp, eax
xor eax, 0x61cc007
and esi, 0xee1dfd47
xor ebp, 0x11c20200
and eax, 0xee1dfd47
or ebx, esi
mov esi, ecx
and ebp, 0x11e20200
and esi, 0xa0b83ebe
or ebp, eax
mov eax, edi
and eax, 0x5f47c141
xor ebp, ebx
or esi, eax
not ebp
xor esi, 0xa0b83ebe
or ebp, edi
and edi, ecx
mov ecx, dword [esp + 0xc]
mov eax, esi
mov ebx, ebp
and eax, edi
xor edi, esi
mov esi, edx
xor ebx, 0xd31c5b4f
or edi, eax
and esi, 0x2c0bea0c
and ebx, ebp
mov eax, edi
and edi, 0xc6ef9c77
and ecx, 0xd3f41500
not eax
or ecx, esi
and eax, 0x39106388
or edi, eax
mov eax, edi
xor edi, 0x28006208
xor eax, 0xc2e41473
and edi, 0x2c0bea0c
and eax, 0xd3f415f3
or eax, edi
xor eax, ecx
xor edx, eax
and edx, eax
mov eax, edx
mov edi, edx
xor eax, 0x2ce3a4b0
and edi, 0xd7ff7f43
and eax, edx
not edx
and edx, 0x280080bc
mov dword [esp + 0xc], eax
mov eax, ebp
or edi, edx
mov edx, ebx
and ebx, 0x35383d12
or eax, 0x2ce3a4b0
not edx
mov ecx, edi
xor edi, 0x4e3240c
mov esi, edx
xor ecx, 0xd7ff7f43
or edx, eax
and esi, 0xcac7c2ed
and edi, ecx
not edx
or ebx, esi
mov esi, ebp
and esi, ecx
xor ecx, ebp
mov ebp, eax
and eax, 0xcac7c2ed
not ebp
or ecx, esi
and ebp, 0x11181902
mov esi, ecx
and ecx, 0xf6e0c140
or ebp, eax
mov eax, edi
and edi, 0x1b8c32b0
not esi
xor ebp, ebx
not eax
and esi, 0x91f3ebf
or edx, ebp
mov ebx, eax
or ecx, esi
mov ebp, edx
mov edx, dword [esp + 0xc]
and ebx, 0xe473cd4f
mov esi, ecx
xor ecx, 0x91f3ebf
or edi, ebx
xor esi, 0xf420c000
and esi, 0xf437f224
mov ebx, edx
and edx, 0x1b8c32b0
not ebx
or eax, ebx
and ebx, 0xe473cd4f
or edx, ebx
not eax
xor edx, edi
mov edi, ebp
or eax, edx
not edi
and edi, eax
not eax
and eax, ebp
or eax, edi
mov ebp, eax
and eax, 0xf437f224
not ebp
mov edi, ebp
or ebp, ecx
and ecx, 0xbc80ddb
and edi, 0xbc80ddb
or esi, ecx
not ebp
or eax, edi
xor esi, eax
mov eax, 0xe18c3f77
or ebp, esi
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
mov eax, dword [esp + 0x3c]
movsx eax, byte [eax + 2]
shl eax, 0x10
mov dword [esp + 4], eax
mov eax, 0x3d661dfb
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
mov ecx, dword [0x42df20]
mov eax, dword [0x42df24]
lea esi, [ecx - 1]
imul esi, ecx
mov ecx, esi
or esi, 0x10924080
not ecx
and esi, 0x9896da91
mov edi, ecx
and ecx, 0x67480542
or edi, 0xef4c9f53
or ecx, esi
mov edx, edi
and edi, 0x9896da91
not edx
and edx, 0x21202c
or edx, edi
xor edx, ecx
mov ecx, edx
and edx, 0xa9281170
not ecx
and ecx, 0x56d7ee8f
or edx, ecx
mov ecx, edx
xor edx, 0xb99b71dc
xor ecx, 0x46648e23
and edx, 0xfffffffe
mov esi, ecx
and ecx, 1
and esi, 0xfffffffe
or ecx, edx
mov edx, esi
and edx, ecx
xor ecx, esi
or ecx, edx
mov edx, ecx
and ecx, 0x7c927f8b
not edx
and edx, 0x836d8074
or ecx, edx
mov edx, ecx
and ecx, 0x836d8074
not edx
and edx, 0x7c927f8b
or ecx, edx
mov edx, ecx
and ecx, 0xad9f636
not edx
and edx, 0xf52609c9
or edx, ecx
mov ecx, edx
xor edx, 0x75200189
xor ecx, 0x2d0b430
and edx, 0x7d29438f
and ecx, 0x82d6bc70
or ecx, edx
xor ecx, 0x82d6bc70
mov ecx, 0xda1326fb
sete byte [esp + 0x58]
cmp eax, 0xa
setl byte [esp + 0x5c]
nop dword [eax + eax]
cmp ecx, 0xda1326fa
jg 0x4024e0
cmp ecx, 0x8681bfbe
je 0x402c5b
cmp ecx, 0x96945595
jne 0x4024a0
lea ecx, [esp + 0x28]
lea eax, [esp + 0x24]
push eax
call fcn.0040c800
mov ecx, 0x2c3dbdac
cmp ecx, 0xda1326fa
jle 0x4024a8
nop word [eax + eax]
cmp ecx, 0x2c3dbdac
je 0x4025ca
cmp ecx, 0xda1326fb
jne 0x4024a0
mov ah, byte [esp + 0x58]
mov al, byte [esp + 0x5c]
mov esi, 0x2c3dbdac
mov cl, ah
mov dh, al
xor cl, 1
xor dh, 1
mov dl, cl
mov ch, cl
and al, dh
mov bl, dh
or cl, ah
and dl, ah
and bl, al
xor al, dh
xor ch, dl
xor dl, 1
or al, bl
or dl, ah
xor dl, 1
or dl, ch
mov ch, dl
xor ch, 1
mov ah, ch
mov dh, ch
and ah, dl
and dh, ah
xor ah, ch
or ah, dh
mov dh, ch
xor ah, cl
and dh, cl
xor cl, ch
xor ah, 1
or cl, dh
mov ch, ah
xor ch, cl
or cl, ah
xor cl, 1
or cl, ch
mov ch, dl
xor cl, al
xor ch, al
or al, dl
mov dh, ch
xor al, 1
mov ah, cl
or al, ch
xor dh, 1
xor ah, 1
xor ch, al
or al, dh
mov dh, cl
xor ch, 1
xor al, 1
and dh, ah
or al, ch
mov dl, al
xor dl, 1
and al, dl
mov ch, dl
and ch, al
xor al, dl
or al, ch
mov ch, dh
xor dh, cl
and ch, cl
mov cl, ah
or dh, ch
xor dh, al
xor al, 1
and cl, al
xor al, ah
or al, cl
mov ecx, eax
xor cl, dh
test cl, 1
mov ecx, 0x96945595
cmovne esi, ecx
test al, 1
mov ecx, 0x2c3dbdac
cmovne ecx, esi
test dh, 1
cmove ecx, esi
cmp ecx, 0xda1326fa
jle 0x4024a8
jmp 0x4024e0
lea ecx, [esp + 0x28]
lea eax, [esp + 0x24]
push eax
call fcn.0040c800
mov edx, dword [0x42df20]
mov eax, dword [0x42df24]
mov edi, 0x8681bfbe
lea ecx, [edx - 1]
imul ecx, edx
mov edx, ecx
not edx
mov esi, edx
and edx, ecx
and ecx, 0xbdb0a9e5
and esi, 0x424f561a
or ecx, esi
xor ecx, 0xbdb0a9e5
mov esi, ecx
xor ecx, edx
and esi, edx
or ecx, esi
mov edx, ecx
mov esi, ecx
xor edx, 1
not esi
and edx, ecx
and esi, 0x2e5fe76d
and ecx, 0xd1a01892
or ecx, esi
mov esi, edx
xor ecx, 0xd1a01893
and esi, ecx
xor ecx, edx
or ecx, esi
mov esi, 0x96945595
mov edx, ecx
and ecx, 0xe6c2aaef
not edx
and edx, 0x193d5510
or ecx, edx
mov edx, ecx
and ecx, 0x924cede2
not edx
and edx, 0x6db3121d
or ecx, edx
mov edx, ecx
xor ecx, 0x2408070d
xor edx, 0x31a0b0
and ecx, 0xaf481f4f
and edx, 0x50b7e0b0
or edx, ecx
xor edx, 0x50b7e0b0
cmp edx, 0xffffffff
sete dl
setne ch
cmp eax, 0xa
setl cl
cmp eax, 9
setg al
mov ah, al
xor ah, cl
and ah, al
mov al, ch
xor al, dl
mov dh, ah
and al, ch
mov ch, ah
xor ch, 1
or ch, ah
xor ch, 1
and dh, ch
xor ch, ah
mov ah, al
not ah
or ch, dh
and ah, al
xor ch, 1
mov dh, ah
xor ah, al
and dh, al
mov al, ch
or ah, dh
xor al, ah
or ch, ah
not al
and al, ah
xor al, 1
mov ah, al
or al, ch
xor ah, ch
mov ch, cl
xor cl, dl
xor al, 1
or ch, dl
or al, ah
xor ch, 1
mov dl, ch
and dl, cl
xor cl, ch
or cl, dl
xor cl, al
and al, cl
mov edx, ecx
xor dl, al
test dl, 1
cmovne edi, esi
test cl, 1
mov ecx, 0x8681bfbe
cmovne ecx, edi
test al, 1
cmove ecx, edi
cmp ecx, 0xda1326fa
jle 0x4024a8
jmp 0x4024e0
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
imul ecx, dword [ecx + eax*4], 0x5bd1e995
mov edx, ecx
shr edx, 0x18
mov eax, edx
mov edi, edx
not eax
xor edi, 0x42
mov esi, eax
and edi, edx
and edx, 0x7e
and esi, 0x3d255842
mov ebx, esi
and ebx, edi
xor edi, esi
or edi, ebx
mov esi, edi
and edi, 0x2058ef
not esi
and esi, 0x420a8510
or edi, esi
mov ebx, edi
xor edi, 0x2225452
xor ebx, 0x95812089
and edi, 0x2225476
and ebx, 0xd589a989
or ebx, edi
mov edi, eax
and eax, 0xfa05c19c
mov esi, ebx
xor ebx, 0x2a044014
and edi, 0x1c21681
xor esi, 0x80801
and ebx, 0xfa05c19c
or edi, edx
mov edx, ecx
and esi, 0x2a1c63
xor edi, 0x43828e2
not edx
or ebx, esi
or eax, edi
mov edi, edx
mov esi, ebx
and edi, 0x7d679f03
xor esi, 0x52a1c63
and esi, ebx
mov ebx, ecx
and ecx, 0x5fa3e63
and ebx, 0x829860fc
or ebx, edi
mov edi, ebx
and ebx, 0x7d679f03
not edi
and edi, 0x829860fc
or ebx, edi
mov edi, ebx
and ebx, 0xefee7d20
not edi
and edi, 0x101182df
or ebx, edi
mov edi, ebx
xor ebx, 0x108006
xor edi, 0xefee7d20
and ebx, 0x4272d826
mov ebp, edi
and edi, 0x5fa3e63
and ebp, 0xbd8d27d9
or ebp, ebx
mov ebx, eax
xor ebp, 0x4788e645
not ebx
or edi, ebp
mov ebp, edx
and ebp, 0xfa05c19c
or ecx, ebp
mov ebp, edi
xor edx, ecx
not ebp
and edx, ecx
mov ecx, esi
not ecx
and ebx, ecx
or ecx, eax
and eax, esi
not ecx
or eax, ebx
mov esi, ecx
and esi, eax
xor eax, ecx
mov ecx, edx
and edx, edi
not ecx
or eax, esi
or edi, ecx
and ecx, ebp
or ecx, edx
mov esi, edi
mov ebx, edi
mov edx, ecx
not esi
and ebx, 0x4c52eea6
and ecx, 0xb3ad1159
not edx
and esi, 0xb3ad1159
or edi, edx
and edx, 0x4c52eea6
or esi, ebx
or ecx, edx
not edi
mov edx, eax
xor ecx, esi
and edx, 0xfd128c4a
or edi, ecx
mov ecx, eax
not ecx
and ecx, 0x2ed73b5
or edx, ecx
mov ecx, edi
and edi, 0xe8752993
not ecx
xor edx, 0x2ed73b5
or edx, ecx
and ecx, 0x178ad66c
or edi, ecx
not edx
xor edi, eax
xor edi, 0x178ad66c
and edi, eax
mov eax, edx
and eax, edi
xor edi, edx
or edi, eax
imul eax, dword [esp + 0x4c], 0x5bd1e995
mov dword [esp + 8], eax
mov eax, dword [0x42df28]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
xor edx, 0x1431e026
mov ebx, eax
and edx, ecx
and ecx, 0xe4be5730
and eax, 0x1b41a8cf
and ebx, 0x1431e026
or eax, ecx
mov ebp, ebx
and ebp, edx
xor edx, ebx
or edx, ebp
mov ebx, edx
and edx, 0x1431e027
not ebx
and ebx, 0xebce1fd8
or edx, ebx
mov ebx, edx
and edx, 0x1b41a8cf
not ebx
mov ebp, ebx
and ebp, 0xe4be5730
or edx, ebp
xor eax, edx
not eax
or eax, ebx
cmp eax, 0xffffffff
mov eax, dword [0x42df2c]
sete byte [esp + 0x58]
cmp eax, 0xa
mov eax, 0xcc0eaf91
setl byte [esp + 0x5c]
nop
cmp eax, 0xe5eb66be
jg 0x402a70
cmp eax, 0x890a8d26
je 0x402a8b
cmp eax, 0xcc0eaf91
jne 0x402960
movzx edx, byte [esp + 0x58]
mov bh, byte [esp + 0x5c]
mov ah, bh
mov ecx, edx
mov ch, dl
xor ah, 1
xor cl, 1
mov bl, ah
mov dh, cl
mov byte [esp], cl
mov cl, ah
or ah, bh
and bl, bh
or dh, dl
mov byte [esp + 0x1c], ah
mov ah, byte [esp]
xor cl, bl
xor bl, 1
mov al, dh
or bl, bh
xor al, 1
xor bl, 1
or bl, cl
mov ecx, edx
mov dl, bl
and al, cl
and ah, cl
mov ch, bl
xor dl, 1
mov byte [esp + 0x18], al
mov al, bl
and al, dl
xor ch, dl
xor al, 1
and ch, bl
mov bh, al
or al, dl
xor ch, 1
xor bh, dl
xor al, 1
mov byte [esp + 0x14], bh
mov bh, dl
xor bh, cl
or cl, dh
and dh, byte [esp]
or al, byte [esp + 0x14]
mov dl, cl
or dh, byte [esp + 0x18]
xor dh, 1
xor dl, dh
or dh, cl
mov cl, ch
xor dh, 1
or dh, dl
mov dl, byte [esp + 0x1c]
and cl, dl
xor ch, dl
or cl, ch
mov dl, ch
xor cl, 1
and dl, cl
xor cl, ch
or cl, dl
mov dl, ah
xor cl, dh
mov dh, byte [esp]
and dl, dh
xor ah, dh
or bl, dh
or ah, dl
xor bl, 1
xor al, ah
or bl, bh
xor al, 1
mov edx, eax
xor dl, bl
or bl, al
xor bl, 1
or bl, dl
mov edx, 0x890a8d26
xor bl, cl
and cl, bl
mov eax, ebx
xor al, cl
test al, 1
mov eax, 0xe5eb66bf
cmovne edx, eax
test bl, 1
mov eax, 0x890a8d26
cmovne eax, edx
test cl, 1
cmove eax, edx
cmp eax, 0xe5eb66be
jle 0x40296b
nop
cmp eax, 0xe5eb66bf
je 0x402bd8
cmp eax, 0x35535647
jne 0x402960
jmp 0x402c74
lea ecx, [esp + 0x28]
call fcn.0040c180
mov eax, dword [0x42df28]
mov esi, 0xe5eb66bf
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, eax
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov edx, ecx
and ecx, 1
not edx
mov eax, edx
and edx, 0xfffffffe
or eax, 1
or ecx, edx
mov ebx, eax
mov edx, eax
not ebx
and edx, 0x85d31c67
and ebx, 0x7a2ce398
or ebx, edx
mov edx, ecx
and ecx, 0x7a2ce398
not edx
or eax, edx
and edx, 0x85d31c67
or ecx, edx
not eax
xor ecx, ebx
or eax, ecx
mov ecx, eax
mov ebx, eax
not ecx
and ebx, 0x26ec7a4e
mov edx, ecx
and ecx, 0xd91385b1
and edx, eax
or ecx, ebx
mov ebx, edx
and edx, 0xd91385b1
not ebx
or eax, ebx
and ebx, 0x26ec7a4e
or edx, ebx
not eax
mov ebx, dword [0x42df2c]
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0xc906cc82
not ecx
and ecx, 0x36f9337d
or ecx, eax
xor ecx, 0x36f9337d
setne dl
sete ah
cmp ebx, 9
setg al
cmp ebx, 0xa
mov ch, dl
setl cl
xor ch, ah
and ch, dl
mov dh, ch
xor dh, 1
mov bl, dh
mov bh, dh
or dh, ch
and bl, ch
xor dh, 1
xor bh, bl
xor bl, 1
or bl, ch
xor bl, 1
or bl, bh
xor bl, 1
mov ch, bl
and ch, dh
xor dh, bl
or dh, ch
mov ch, dh
and dh, cl
or cl, ah
xor ch, 1
and ch, al
xor al, dl
mov dl, cl
xor dl, al
xor al, 1
or ch, dh
or al, cl
xor dl, 1
xor ch, 1
xor al, 1
or al, dl
mov cl, al
xor cl, ch
and ch, al
mov eax, 0x35535647
or ch, cl
mov dl, ch
xor dl, cl
test ch, 1
cmovne eax, esi
test cl, 1
mov ecx, 0x35535647
cmove eax, esi
test dl, 1
cmove eax, ecx
cmp eax, 0xe5eb66be
jg 0x402a70
jmp 0x40296b
lea ecx, [esp + 0x28]
call fcn.0040c180
mov eax, 0x890a8d26
cmp eax, 0xe5eb66be
jg 0x402a70
jmp 0x40296b
mov eax, dword [esp + 0x40]
mov ecx, 0x3d661dfb
mov dword [esp + 4], 0
cmp eax, 3
mov eax, 0x5b08db8
jmp 0x402c48
mov eax, dword [esp + 0x40]
mov ecx, 0xe18c3f77
cmp eax, 1
mov eax, 0xf19120df
cmove eax, ecx
xor ebp, ebp
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
mov eax, dword [esp + 0x40]
mov ecx, 0x6b1e546b
cmp eax, 2
mov eax, 0x94f41fc7
cmovl eax, ecx
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
inc dword [esp + 0x24]
mov eax, 0x57847825
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
imul esi, edi, 0x5bd1e995
mov ecx, dword [esp + 8]
mov edx, esi
mov edi, esi
not edx
xor edi, 0x64cd9045
mov eax, edx
and edi, esi
and edx, 0xf94a21cd
xor esi, 0x6b5de32
and eax, 0x64cd9045
or esi, edx
mov edx, ecx
mov ebx, eax
not edx
and ebx, edi
xor edi, eax
mov ebp, edx
or edi, ebx
mov ebx, ecx
and ebp, 0x575671ea
mov eax, edi
and edi, 0x64cd9045
and ebx, 0x272ec94
not eax
and eax, 0x9b326fba
or edi, eax
mov eax, edi
and edi, 0x3848008c
not eax
and eax, 0xc1022141
or eax, edi
mov edi, edx
and edi, ecx
and ecx, 0xa8a98e15
or ecx, ebp
mov ebp, eax
xor eax, 0x3efddebe
xor ecx, 0x51e3afd8
xor ebp, 0xc1022141
or ecx, edx
and edx, 0xfd8d136b
or ebx, edx
xor ebx, 0x272ec94
mov edx, ebx
and edx, edi
xor edi, ebx
or edi, edx
mov edx, edi
and edi, 0xea8d9c15
not edx
and edx, 0x157263ea
or edi, edx
mov ebx, edi
xor edi, 0x15024360
xor ebx, 0xea8d9c15
and edi, 0xf70e4f71
mov edx, ebx
and ebx, 0x6b5de32
and edx, 0x8f1b08e
or edx, edi
mov edi, esi
not edi
xor edx, 0xf1bb9143
and edi, eax
or eax, esi
and esi, ebp
or ebx, edx
mov ebp, eax
or esi, edi
mov edi, eax
mov edx, ebx
and ebx, 0x79f09aa2
not ebp
and edi, 0xe8032490
not edx
and ebp, 0x1148014d
and edx, 0x860f655d
or ebp, edi
mov edi, esi
and esi, 0x17fcdb6f
or ebx, edx
not edi
mov edx, ebx
or eax, edi
and edi, 0xe8032490
xor edx, 0x79f09aa2
or esi, edi
not eax
mov edi, ecx
xor esi, ebp
mov ebp, ecx
not edi
xor ecx, 0x8151e709
or eax, esi
and ecx, edi
and ebp, 0xaf688a43
and edi, 0x509775bc
mov dword [esp], eax
mov eax, ebx
xor ebx, 0x75e8254
or edi, ebp
mov ebp, edx
xor eax, 0x860f655d
and ebp, 0x8151e709
and ebx, eax
mov dword [esp + 8], eax
mov esi, ebx
and esi, ebp
xor ebp, ebx
mov ebx, edi
xor edi, 0xaf688a43
xor ebx, 0x509775bc
or ebp, esi
mov esi, ebx
and ebx, 0xad10798
and esi, 0x7eae18f6
mov eax, esi
and eax, ecx
xor ecx, esi
mov esi, dword [esp + 8]
or ecx, eax
mov eax, ebp
not eax
and eax, ecx
not ecx
and ecx, ebp
and esi, 0xad10798
or ecx, eax
mov eax, edx
or edx, edi
and edi, 0xf52ef867
and eax, 0xf52ef867
or ebx, edi
not edx
or esi, eax
mov eax, ecx
xor ebx, esi
or edx, ebx
not edx
and eax, edx
xor edx, ecx
mov ecx, dword [esp]
or edx, eax
mov esi, edx
xor esi, 0x15ba96d7
mov eax, ecx
and ecx, 0xea456928
and esi, edx
not eax
and eax, 0x15ba96d7
or ecx, eax
mov eax, edx
not edx
and edx, 0xc135ee27
and eax, 0x3eca11d8
mov edi, ecx
or eax, edx
mov ecx, eax
xor eax, 0xd48f78f0
xor ecx, 0x3eca11d8
and eax, ecx
mov ecx, eax
and ecx, esi
xor esi, eax
mov eax, edi
or esi, ecx
not eax
and eax, esi
not esi
and esi, edi
or esi, eax
mov dword [esp], esi
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0xc]
inc eax
mov dword [esp + 8], eax
mov eax, 0x2152e173
cmp eax, 0x5b08db7
jg 0x401f8b
jmp 0x402020
mov ebx, dword [esp + 0x10]
mov ecx, ebx
shr ecx, 0xd
mov eax, ecx
mov edi, ecx
and ecx, 0x5f1ec
not eax
and edi, 0x7b4d0
mov edx, eax
and eax, 0xb9d20e13
and edx, 0x7c984b2f
or ecx, eax
or edi, edx
mov eax, ecx
xor ecx, 0xdf4233b8
mov esi, edi
xor edi, 0x420b
xor eax, 0x2dc044
xor esi, 0x1631490
and edi, 0x4e24b
and eax, 0x996fc254
and esi, 0x31731db4
or ecx, eax
mov eax, ebx
or esi, edi
not eax
mov edi, ebx
mov edx, esi
xor esi, 0x105a4
and edi, 0x208041
xor edx, 0xce0c020b
and esi, 0x1e5e4
and edx, 0xfe5e1a1b
or esi, edx
mov edx, esi
xor esi, 0x1a1e5e4
xor edx, 0x6731d84f
and esi, edx
mov edx, eax
and edx, 0xd8c01224
or edi, edx
mov edx, ebx
xor edx, 0xd8e09265
xor edi, 0x208041
and edx, ebx
mov ebp, edi
and ebx, 0x18bf3106
and ebp, edx
xor edx, edi
mov edi, ecx
not edi
or edx, ebp
mov ebp, esi
mov dword [esp], edi
mov edi, edx
and edx, 0xd8e09265
xor ebp, ecx
and ecx, esi
not edi
and ebp, esi
not esi
and edi, 0x271f6d9a
and esi, dword [esp]
or edx, edi
mov edi, edx
and edx, 0xe109a4b
not edi
and edi, 0xf1ef65b4
or ecx, esi
mov esi, ebp
and ebp, 0x218b346d
or edx, edi
not esi
mov edi, edx
xor edx, 0x6880a7e0
xor edi, 0x610180b
and edi, 0x66903dab
or edx, edi
mov edi, eax
and edi, 0xe740cef9
or ebx, edi
mov edi, edx
xor ebx, 0x7e2f0cad
not edi
xor eax, ebx
and eax, ebx
mov ebx, esi
and ebx, 0xde74cb92
or ebp, ebx
mov ebx, ecx
and ecx, 0x218b346d
not ebx
or esi, ebx
and ebx, 0xde74cb92
or ecx, ebx
not esi
mov ebx, eax
xor ecx, ebp
mov ebp, edi
and ebx, 0xd65f6ae2
or esi, ecx
mov ecx, edx
and ebp, 0x7626f58d
xor edx, 0xd242cf1a
and ecx, 0x89d90a72
and edx, edi
mov dword [esp], esi
or ebp, ecx
mov ecx, eax
and eax, 0xd242cf1a
not ecx
and ecx, 0x29a0951d
or ebx, ecx
mov ecx, ebx
xor ebx, 0x29a0951d
xor ecx, 0xd65f6ae2
mov edi, ecx
and ecx, 0xa3ffe51c
and edi, 0x2dbd30e5
or eax, edi
mov edi, ebp
mov dword [esp + 4], eax
mov eax, ebp
xor edi, 0xa4643a97
xor ebp, 0x89d90a72
xor eax, 0x7626f58d
and edi, eax
and eax, 0xa3ffe51c
mov esi, edi
and esi, edx
xor edx, edi
mov edi, dword [esp + 4]
or edx, esi
mov esi, edx
not esi
and esi, edi
not edi
and edi, edx
mov edx, ebp
or ebp, ebx
and ebx, 0x5c001ae3
and edx, 0x5c001ae3
or edi, esi
or ecx, ebx
not ebp
or eax, edx
mov esi, edi
xor ecx, eax
or ebp, ecx
mov ecx, esi
and esi, 0x4d5a2a93
mov eax, ebp
not ecx
mov edx, ecx
not eax
or ecx, ebp
and ebp, 0xb2a5d56c
and eax, 0x4d5a2a93
and edx, 0xb2a5d56c
not ecx
or esi, edx
or eax, ebp
mov edx, dword [esp]
xor eax, esi
or ecx, eax
mov eax, ecx
xor eax, edx
and ecx, eax
and eax, edx
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
imul esi, eax, 0x5bd1e995
mov ecx, esi
shr ecx, 0xf
mov eax, ecx
mov edi, ecx
mov ebx, ecx
not eax
and edi, 0x3c1
xor ebx, 0xcb86
mov dword [esp], eax
and eax, 0x6425fc3e
and ebx, ecx
or edi, eax
mov eax, edi
xor edi, 0x2404c806
or edi, 0xc3f93479
xor eax, 0x18020100
mov ebp, edi
and eax, 0x18060904
and ebp, 0x2c1c693
or eax, ebp
mov ebp, ebx
and ebx, 0x396c
not ebp
or edi, ebp
and ebp, 0x26c1c693
or ebx, ebp
not edi
mov ebp, esi
xor ebx, eax
and ebp, 0x4845714
or edi, ebx
mov ebx, esi
and esi, 0x98d2dc8e
mov eax, edi
and edi, 0x24427e36
not ebx
not eax
and eax, 0x1abd81c9
or edi, eax
mov eax, ebx
and eax, 0xfb7ba8eb
or ebp, eax
mov eax, edi
xor edi, 0x4804204
xor eax, 0xd940a0a0
and edi, 0x4845714
and eax, 0xfb7ba8eb
or edi, eax
mov eax, dword [esp]
xor edi, ebp
mov edx, edi
xor edx, ebx
and ebx, 0x672d2371
or esi, ebx
and edx, edi
mov edi, esi
xor esi, 0x21002270
mov ebx, edx
xor edi, 0x88429486
and esi, 0x31906a78
xor ebx, 0xcaef606c
and edi, 0xce6f9587
or edi, esi
mov esi, edi
xor edi, 0x6a78
xor esi, 0x19587
and edi, ecx
mov ecx, ebx
and ebx, edx
and esi, eax
or edi, esi
mov esi, edx
not edi
not esi
or edi, eax
and ecx, esi
and esi, 0xbec2a698
mov eax, edi
mov ebp, ecx
not eax
and ebp, ebx
xor ebx, ecx
mov dword [esp], eax
mov eax, edi
or ebx, ebp
mov ecx, dword [esp]
xor eax, 0x35109f93
and eax, edi
and edi, 0xbec2a698
mov ebp, eax
and ecx, 0x9f93
and ebp, ecx
xor ecx, eax
mov eax, ebx
or ecx, ebp
not eax
and eax, ecx
not ecx
and ecx, ebx
or ecx, eax
mov eax, edx
and eax, 0x413d5967
or esi, eax
mov eax, dword [esp]
or edx, eax
and eax, 0x15967
or edi, eax
not edx
xor edi, esi
mov esi, ecx
and ecx, 0x991dd528
or edx, edi
not esi
mov eax, edx
and edx, 0xfd4edc21
mov ebx, esi
not eax
and ebx, 0x66e22ad7
and eax, 0x2b123de
or ecx, ebx
or edx, eax
mov edi, edx
xor edx, 0x2b123de
xor edi, 0x990cd420
or esi, edx
and edx, 0x66e22ad7
and edi, 0x991dd528
not esi
or edi, edx
xor edi, ecx
mov ecx, dword [esp + 0x60]
or esi, edi
xor ecx, esp
call fcn.0040f7b3
mov eax, esi
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret