Function at 0x402bd0
Capabilities:
Hash data using murmur2

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x70
mov eax, dword [0x4255e0]
mov esi, dword [esp + 0x88]
xor eax, esp
mov dword [esp + 0x6c], eax
mov ecx, dword [0x425f14]
mov ebx, dword [0x425f18]
lea eax, [ecx - 1]
mov dword [esp + 0x1c], ebx
imul eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0xbcb4abe7
not ecx
or edx, 1
mov ebp, ecx
mov edi, ecx
and edx, 0x285e89b3
and ecx, 0x434b5418
or ebp, 0x285e89b2
and edi, 0xd7a1764c
or eax, ecx
or edi, edx
and ebp, 0x285e89b3
mov ecx, eax
xor eax, 0x434b5418
xor ebp, edi
xor ecx, 0x1814abc4
mov edx, ebp
mov edi, ebp
or ebp, eax
and eax, 0xa6e31423
and ecx, 0x591cebdc
not edx
and edi, 0xa6e31423
or ecx, eax
not ebp
and edx, 0x591cebdc
or edx, edi
mov edi, 0x6bb82002
xor ecx, edx
or ebp, ecx
cmp ebp, 0xffffffff
not ebp
sete dl
setne cl
sete byte [esp + 0x60]
cmp ebx, 9
mov dword [esp + 0x18], ebp
mov ebp, 0x7fb6af60
setg al
cmp ebx, 0xa
mov ch, dl
mov ebx, 0x87bda792
setl ah
setl byte [esp + 0x64]
xor ch, cl
and ch, dl
and cl, ah
mov dh, ch
and ch, al
xor dh, 1
and dh, ah
or dh, ch
mov ch, al
xor ch, dl
and ch, al
and al, dl
or al, cl
xor ch, 1
xor al, 1
mov cl, ch
xor cl, al
or al, ch
xor al, 1
or al, cl
xor al, dh
mov ecx, eax
and al, dh
xor cl, 1
mov edx, eax
and dl, cl
xor al, cl
mov ecx, 0x1a6dd7e0
or al, dl
mov edx, 0x457cb63b
test al, 1
mov eax, 0x6f655c5d
cmove ebx, eax
cmove ebp, eax
mov eax, 0x356cd525
cmove eax, edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
nop dword [eax]
cmp edx, 0x457cb63a
jle 0x402d40
cmp edx, 0x6f655c5c
jg 0x402d70
cmp edx, 0x457cb63b
je 0x402d90
cmp edx, 0x6bb82002
jne 0x402d10
mov edx, 0x1a6dd7e0
cmp edx, 0x457cb63a
jg 0x402d18
nop dword [eax]
cmp edx, 0x87bda792
je 0x402e27
cmp edx, 0x1a6dd7e0
je 0x402df5
cmp edx, 0x356cd525
jne 0x402d10
mov edx, ebp
cmp edx, 0x457cb63a
jg 0x402d18
jmp 0x402d40
cmp edx, 0x6f655c5d
je 0x402e11
cmp edx, 0x7fb6af60
jne 0x402d10
mov edx, ebx
cmp edx, 0x457cb63a
jg 0x402d18
jmp 0x402d40
movzx edx, byte [esp + 0x60]
movzx eax, byte [esp + 0x64]
mov dh, al
xor dh, dl
mov ah, dh
and dh, dl
xor dl, 1
or ah, dl
xor dl, al
xor dh, 1
xor dl, 1
xor ah, 1
and dl, al
xor dl, 1
mov al, dl
xor al, dh
or dh, dl
xor dh, 1
or dh, al
xor dh, ah
mov al, dh
xor al, 1
and al, ah
mov ah, dh
xor ah, al
test dh, 1
mov edx, 0x6bb82002
cmovne edx, ecx
test al, 1
cmove edx, edi
test ah, 1
cmovne edx, ecx
cmp edx, 0x457cb63a
jg 0x402d18
jmp 0x402d40
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov dword [esp + 0x68], eax
cmp edx, 0x457cb63a
jg 0x402d18
jmp 0x402d40
mov edx, 0x7fb6af60
cmp edx, 0x457cb63a
jg 0x402d18
jmp 0x402d40
mov dword [esp + 0x10], ebp
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x68]
mov ecx, dword [0x425f1c]
mov eax, dword [0x425f20]
lea ebx, [ecx - 1]
imul ebx, ecx
mov edi, ebx
mov ecx, ebx
xor edi, 0xfffffffe
and ecx, 0xd66dc584
and edi, ebx
not ebx
mov edx, ebx
and edx, 0x29923a7a
or ecx, edx
xor ecx, 0xd66dc584
mov edx, ecx
and edx, edi
xor edi, ecx
or edi, edx
mov ecx, edi
and edi, 0x4e509b
not ecx
and ecx, 0xffb1af64
or edi, ecx
xor edi, 0x4e509b
mov ecx, edi
xor edi, ebx
and ecx, ebx
or edi, ecx
cmp edi, 0xffffffff
mov edi, 0x4cdb74d
sete cl
setne dl
sete byte [esp + 0x58]
cmp eax, 9
setg ch
cmp eax, 0xa
mov al, ch
setl byte [esp + 0x5c]
and al, dl
xor dl, ch
or dl, al
mov al, ch
or ch, cl
xor al, cl
xor ch, 1
xor dl, 1
not al
and al, cl
mov cl, al
and cl, ch
xor ch, al
or ch, cl
xor ch, dl
mov al, ch
not al
and al, dl
mov edx, 0x8e6c327e
mov cl, al
xor cl, ch
test cl, 1
cmovne edx, edi
test ch, ch
mov ecx, 0xf4d313fd
cmove edi, edx
test al, al
cmove edi, edx
mov eax, dword [esp + 0x84]
mov edx, dword [eax + 0x14]
nop
cmp ecx, 0xf4d313fc
jg 0x402f40
cmp ecx, 0x8e6c327e
je 0x402f29
cmp ecx, 0xb1b709ee
je 0x40307f
cmp ecx, 0xbc6eac12
jne 0x402f00
jmp 0x403040
mov ecx, 0x3cbc9edd
cmp ecx, 0xf4d313fc
jle 0x402f08
nop word cs:[eax + eax]
cmp ecx, 0x3cbc9edd
je 0x40300d
cmp ecx, 0x4cdb74d
je 0x403060
cmp ecx, 0xf4d313fd
jne 0x402f00
movzx ecx, byte [esp + 0x58]
mov dword [esp + 0x14], edx
movzx edx, byte [esp + 0x5c]
mov ch, cl
mov bh, cl
xor ch, 1
mov ah, dl
xor bh, ch
xor ah, 1
and bh, cl
mov bl, ah
xor cl, dl
mov dh, bh
or bl, dl
xor dh, 1
mov al, dh
or al, bh
xor bh, al
or al, dh
mov dh, bl
xor bl, ah
or dh, ah
xor bh, 1
xor al, 1
xor dh, 1
or al, bh
mov ah, dh
xor al, 1
and ah, bl
xor bl, dh
or bl, ah
mov ah, al
xor ah, bl
or al, bl
xor ah, 1
xor al, 1
and ah, bl
mov ebx, 0x8e6c327e
mov dh, ah
and dh, al
xor al, ah
mov ah, ch
xor ah, dl
or al, dh
and ah, ch
mov dl, ah
and dl, cl
xor cl, ah
or cl, dl
xor cl, al
and al, cl
mov edx, ecx
xor dl, al
test cl, 1
mov ecx, 0x3cbc9edd
cmovne ecx, ebx
test al, 1
not dl
mov eax, 0x3cbc9edd
cmove ecx, ebx
test dl, 1
mov edx, dword [esp + 0x14]
cmovne ecx, eax
cmp ecx, 0xf4d313fc
jle 0x402f08
jmp 0x402f40
mov eax, dword [esp + 0x84]
cmp edx, 0xf
mov ecx, edi
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
seta byte [esp + 0x60]
mov dword [esp + 0x68], eax
cmp ecx, 0xf4d313fc
jle 0x402f08
jmp 0x402f40
mov eax, dword [esp + 0x64]
mov ecx, 0xb1b709ee
mov eax, dword [eax]
mov dword [esp + 0xc], eax
jmp 0x402ef4
cmp byte [esp + 0x60], 0
mov edx, dword [esp + 0x68]
mov ecx, 0xb1b709ee
mov eax, 0xbc6eac12
cmovne ecx, eax
mov dword [esp + 0xc], edx
jmp 0x402ef4
mov ecx, ebp
mov edx, ebp
and ebp, 0xc9006cc0
not ecx
and edx, 0x601101a
mov eax, ecx
and eax, 0x30fe8325
or edx, eax
xor edx, 0x601101a
or ebp, edx
mov edx, esi
mov eax, ebp
and ebp, 0x36ff933f
not edx
not eax
and eax, 0xc9006cc0
or ebp, eax
mov eax, ebp
and ebp, 0x25d0533f
not eax
and eax, 0xda2facc0
or ebp, eax
mov eax, ebp
xor ebp, 0xda2facc0
xor eax, 0x25d0533f
and ebp, esi
and eax, edx
or ebp, eax
mov eax, edx
not ebp
and eax, 0x4845494a
or ebp, edx
and edx, esi
and esi, 0xb7bab6b5
or esi, eax
mov edi, ebp
xor esi, 0xb7bab6b5
mov eax, esi
xor esi, edx
and eax, edx
or esi, eax
mov eax, esi
and esi, 0x4f44e67d
not eax
and eax, 0xb0bb1982
or esi, eax
mov eax, ecx
xor esi, 0x4f44e67d
and eax, esi
xor esi, ecx
mov ecx, ebp
and ebp, 0x108ce342
or esi, eax
not ecx
mov eax, esi
and esi, 0x5092d345
and ecx, 0xef731cbd
not eax
or ecx, ebp
mov ebp, dword [esp + 0x10]
and eax, 0xaf6d2cba
or esi, eax
mov eax, esi
xor esi, 0xaf6d2cba
xor eax, 0x40121005
or edi, esi
and esi, 0x108ce342
and eax, 0xef731cbd
mov edx, edi
or eax, esi
not edx
mov esi, 0x6bb82002
xor eax, ecx
mov ecx, edi
and edx, 0x29bd1288
and ecx, 0xd642ed77
or edx, ecx
mov ecx, eax
and eax, 0x29bd1288
not ecx
or edi, ecx
and ecx, 0xd642ed77
or eax, ecx
not edi
mov ecx, 0x457cb63b
xor eax, edx
or edi, eax
cmp dword [esp + 0x18], 0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 8]
sete byte [esp + 0x60]
cmp dword [esp + 0x1c], 0xa
mov dword [esp + 0x30], eax
setl byte [esp + 0x64]
nop
cmp ecx, 0x457cb63a
jle 0x4031f0
cmp ecx, 0x6f655c5c
jg 0x403220
cmp ecx, 0x457cb63b
je 0x403240
cmp ecx, 0x6bb82002
jne 0x4031c0
mov ecx, 0x1a6dd7e0
cmp ecx, 0x457cb63a
jg 0x4031c8
nop dword [eax]
cmp ecx, 0x87bda792
je 0x403360
cmp ecx, 0x1a6dd7e0
je 0x40332e
cmp ecx, 0x356cd525
jne 0x4031c0
mov ecx, ebp
cmp ecx, 0x457cb63a
jg 0x4031c8
jmp 0x4031f0
cmp ecx, 0x6f655c5d
je 0x40334a
cmp ecx, 0x7fb6af60
jne 0x4031c0
mov ecx, edi
cmp ecx, 0x457cb63a
jg 0x4031c8
jmp 0x4031f0
mov ch, byte [esp + 0x60]
mov dh, byte [esp + 0x64]
mov bh, ch
mov bl, dh
xor bh, 1
xor bl, 1
mov dl, bh
mov cl, bh
mov eax, ebx
and dl, ch
xor cl, dl
xor dl, 1
or dl, ch
xor dl, 1
or dl, cl
mov cl, bl
and cl, dh
and al, cl
xor cl, bl
mov bl, dl
xor bl, 1
or cl, al
or bl, dl
and ch, bl
xor bl, 1
mov eax, ebx
xor al, bh
and al, bl
and bl, bh
mov ah, al
or bl, ch
xor al, bl
xor ah, 1
xor bl, 1
or bl, ah
xor bl, 1
or bl, al
xor bl, 1
mov ch, bl
or bl, dh
xor ch, dh
xor ch, 1
and ch, dh
xor ch, 1
mov al, ch
or ch, bl
xor al, bl
xor ch, 1
mov ebx, 0x1a6dd7e0
or ch, al
mov eax, edx
xor al, cl
or cl, dl
xor cl, 1
mov edx, eax
or cl, al
xor cl, 1
and dl, cl
xor cl, al
or cl, dl
mov dl, ch
xor dl, 1
mov eax, ecx
and ch, dl
xor al, 1
xor ch, 1
mov ah, al
mov dh, ch
or ch, dl
and ah, cl
xor dh, dl
xor ch, 1
or ch, dh
mov dh, ah
xor ah, al
mov al, dl
xor dl, cl
xor dh, 1
and al, cl
or dh, cl
or dl, al
xor dh, 1
mov al, dl
or dh, ah
xor dh, ch
mov ecx, 0x1a6dd7e0
xor al, dh
test al, 1
cmovne ebx, esi
test dl, 1
cmovne ecx, ebx
test dh, 1
cmove ecx, ebx
cmp ecx, 0x457cb63a
jg 0x4031c8
jmp 0x4031f0
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dword [esp + 0x68], eax
cmp ecx, 0x457cb63a
jg 0x4031c8
jmp 0x4031f0
mov ecx, 0x7fb6af60
cmp ecx, 0x457cb63a
jg 0x4031c8
jmp 0x4031f0
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], 0
shr eax, 2
mov dword [esp + 0x34], eax
mov eax, 0x33505ea5
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x54]
mov eax, 0x871fc825
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x14887216
jle 0x403450
cmp eax, 0x55ca0be6
jle 0x403400
cmp eax, 0x6f241e6d
jle 0x4034ca
cmp eax, 0x6f241e6e
je 0x403bca
cmp eax, 0x773d7c3c
je 0x403be8
cmp eax, 0x7f90b7cb
jne 0x4033c0
jmp 0x40486b
cmp eax, 0x38ec96e2
jg 0x4036e2
cmp eax, 0x14887217
je 0x403e66
cmp eax, 0x33505ea5
jne 0x4033c0
mov eax, dword [esp + 0x14]
mov edx, 0x55ca0be7
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
cmp ecx, eax
mov eax, 0x773d7c3c
cmovl eax, edx
cmp eax, 0x14887216
jg 0x4033cb
nop
cmp eax, 0xb8a0a9ee
jg 0x403490
cmp eax, 0xa99a45c3
jg 0x40371c
cmp eax, 0x871fc825
je 0x404121
cmp eax, 0x9376ca12
jne 0x4033c0
lea eax, [esp + 0x20]
lea ecx, [esp + 0x24]
push eax
call fcn.0040b980
inc dword [esp + 0x20]
jmp 0x404856
cmp eax, 0xc4109646
jg 0x403b89
cmp eax, 0xb8a0a9ef
je 0x404485
cmp eax, 0xb8bb28bc
jne 0x4033c0
mov ecx, dword [esp + 0x48]
mov eax, 0xb0e39ae6
mov dword [esp], ecx
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
cmp eax, 0x55ca0be7
je 0x4044a2
cmp eax, 0x630a2143
jne 0x4033c0
mov eax, dword [0x425f24]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
or ecx, 0xb3864d72
not edx
mov esi, ecx
and ecx, 0xb121b757
or edx, 0x4c79b28d
not esi
mov eax, edx
and esi, 0x4c580088
and edx, 0xb121b757
not eax
or esi, ecx
and eax, 0x2864820
or eax, edx
xor eax, esi
mov ecx, eax
and eax, 0xb1343dec
not ecx
and ecx, 0x4ecbc213
or eax, ecx
mov ecx, eax
mov edx, eax
xor eax, 0xc14e4dcf
xor edx, 0x2102018
xor ecx, 0xfd4d8f61
and eax, ecx
and edx, 0x12502e58
and ecx, 0xedafd1a7
or ecx, edx
mov ebp, eax
and eax, 0x5578dd93
mov esi, ecx
mov edi, ecx
not ebp
xor ecx, 0xedafd1a6
xor esi, 0xedafd1a7
xor edi, 0x2e53ecf6
and edi, esi
and esi, 1
mov edx, edi
and edi, 0x5578dd93
or ecx, esi
not edx
mov ebx, edx
or edx, ebp
and ebp, 0xaa87226c
and ebx, 0xaa87226c
or eax, ebp
not edx
or edi, ebx
xor eax, edi
or edx, eax
mov eax, edx
and edx, 0x3c03c2af
not eax
and eax, 0xc3fc3d50
or edx, eax
mov eax, edx
and edx, 0x51eb3d06
not eax
mov esi, eax
or eax, ecx
and esi, 0xae14c2f9
not eax
or edx, esi
mov esi, ecx
and ecx, 0xae14c2f9
not esi
and esi, 0x51eb3d06
or esi, ecx
xor esi, edx
or eax, esi
mov esi, dword [esp + 0xc]
mov ecx, eax
xor ecx, 0xe2e8826b
and ecx, eax
not eax
and eax, 0xe2e8826b
mov dword [esp + 0x54], esi
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x3173ab1d
not eax
and eax, 0xce8c54e2
or ecx, eax
mov eax, ecx
xor ecx, 0x4609200
xor eax, 0x420b2914
and ecx, 0x95f09262
and eax, 0x6a0f6d9d
or eax, ecx
mov ecx, eax
xor eax, 0x94e01262
xor ecx, 0x2a0d480d
and eax, 0xd4e237f2
and ecx, 0x2b1dc80d
or ecx, eax
mov eax, ecx
xor ecx, 0xa004005
xor eax, 0x50a00670
and ecx, 0x8e427187
and eax, 0x71bd8e78
or eax, ecx
mov ecx, dword [0x425f28]
xor eax, 0x71bd8e78
setne dl
sete ah
cmp ecx, 9
setg al
cmp ecx, 0xa
setl cl
and al, ah
and dl, cl
or cl, ah
xor cl, 1
or al, dl
mov edx, ecx
xor cl, al
and dl, al
xor al, 1
or cl, dl
mov edx, ecx
xor dl, 1
mov ch, dl
and ch, cl
mov ah, ch
xor ch, dl
and ah, dl
mov edx, eax
or ch, ah
and dl, cl
xor ch, al
xor al, cl
or al, dl
mov cl, ch
mov edx, 0x38ec96e3
xor cl, al
test al, 1
mov eax, 0x871fc825
cmovne eax, edx
test ch, 1
not cl
cmovne eax, edx
test cl, 1
mov edx, 0x871fc825
cmove eax, edx
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
cmp eax, 0x38ec96e3
je 0x403384
cmp eax, 0x529f66c0
jne 0x4033c0
mov eax, dword [esp + 0x38]
movsx eax, byte [eax + 2]
shl eax, 0x10
mov dword [esp + 0xc], eax
mov eax, 0x630a2143
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
cmp eax, 0xa99a45c4
je 0x40477b
cmp eax, 0xb0e39ae6
jne 0x4033c0
mov eax, dword [esp + 0x38]
mov ebx, dword [esp]
mov esi, ebx
mov edx, ebx
mov edi, ebx
movsx eax, byte [eax]
not esi
and edx, 0x5a403650
xor edi, 0x5e783650
mov ecx, esi
and edi, ebx
and esi, 0xe5222386
and ecx, 0x4380000
or edx, ecx
xor edx, 0x5a403650
mov ecx, edx
and ecx, edi
xor edi, edx
mov edx, ebx
mov ebx, eax
or edi, ecx
and edx, 0x1adddc79
and ebx, 0xc3fe5d57
mov ecx, edi
and edi, 0x5e783650
or edx, esi
not ecx
mov esi, edx
xor edx, 0x5a6b6a2f
and ecx, 0xa187c9af
xor esi, 0x949450
or edi, ecx
and esi, 0x40b6b656
mov ecx, edi
and edi, 0x40b6b656
or edx, esi
not ecx
and ecx, 0xbf4949a9
or edi, ecx
mov ecx, edi
xor ecx, 0xbf4949a9
and ecx, edi
mov dword [esp + 4], ecx
mov ecx, eax
and eax, 0xbf4949a9
not ecx
mov edi, ecx
mov esi, ecx
and edi, 0x3c01a2a8
or esi, 0x2df788b2
or ebx, edi
mov ebp, esi
and esi, 0xb010853c
mov edi, ebx
xor ebx, 0x20008020
not ebp
xor edi, 0x1e60802
or ebx, 0x9000050c
and ebp, 0x42087241
and ebx, 0xb010853c
and edi, 0xde70882
or ebp, esi
or edi, ebx
xor ebp, edi
mov edi, edx
mov esi, ebp
and ebp, 0x7e4028ee
not edi
not esi
and edi, 0xe2bcaa68
and esi, 0x81bfd711
or ebp, esi
mov ebx, ebp
xor ebp, 0xac485fa3
xor ebx, 0x40b6a054
mov esi, ebp
and esi, 0xbf4949a9
and ebx, 0x40b6b656
or ebx, esi
mov esi, ecx
not ebx
and esi, 0x40b6b656
or ebx, ebp
mov ebp, dword [esp + 4]
or eax, esi
xor ecx, eax
and ecx, eax
mov eax, ebp
mov esi, ebp
xor eax, edx
not esi
and edx, 0x1d435597
and eax, ebp
and esi, 0x1d435597
and ebp, 0xe2bcaa68
or edi, edx
or ebp, esi
mov edx, eax
mov esi, ebp
mov ebp, ecx
and ecx, ebx
not ebx
xor edi, esi
not ebp
and edx, edi
xor edi, eax
mov eax, ebx
xor eax, ebp
and ebp, ebx
or edi, edx
and eax, ebx
or ebp, ecx
mov ebx, edi
or edi, 0x75426977
mov esi, eax
mov ecx, ebp
and eax, 0xa0152fbd
and ebp, 0xa0152fbd
not ebx
not esi
not ecx
or ebx, 0x8abd9688
mov edx, esi
or esi, ecx
and ecx, 0x5fead042
and edx, 0x5fead042
or ebp, ecx
not esi
or eax, edx
xor ebp, eax
mov eax, ebx
and ebx, 0x37267c59
or esi, ebp
mov ebp, edi
not eax
and edi, 0x37267c59
mov edx, esi
mov ecx, esi
not ebp
and eax, 0x40400126
not edx
xor ecx, 0x8abd9688
and ebp, 0x88998280
or eax, ebx
and edx, ecx
and ecx, esi
or ebp, edi
mov esi, edx
mov edi, ecx
and edx, 0x39eef396
and ecx, 0x39eef396
xor eax, ebp
not esi
not edi
mov ebx, esi
or esi, edi
and edi, 0xc6110c69
and ebx, 0xc6110c69
or ecx, edi
not esi
or edx, ebx
xor ecx, edx
or esi, ecx
mov ecx, eax
not ecx
and ecx, esi
not esi
and esi, eax
mov eax, dword [esp + 0x4c]
or esi, ecx
imul esi, esi, 0x5bd1e995
mov ecx, esi
mov edx, esi
xor ecx, 0xde1aaf5e
and edx, 0xc7151ba1
and ecx, esi
not esi
mov edi, esi
mov ebx, ecx
and ecx, 0xceb1fdf
and edi, 0x38eae45e
not ebx
or edx, edi
mov edi, edx
xor edx, 0x180aa45e
or edx, 0x21e550a1
xor edi, 0x4000b00
mov ebp, edx
or edx, ebx
and ebx, 0xf314e020
and edi, 0xc0a0f5e
and ebp, 0xf314e020
or ecx, ebx
not edx
or edi, ebp
mov ebp, eax
xor ecx, edi
mov edi, eax
and ebp, 0xf5e1a7ed
or edx, ecx
not edi
mov ecx, edx
and edx, 0xde1aaf5e
mov ebx, edi
not ecx
and ebx, 0xa1e5812
and ecx, 0x21e550a1
or ebp, ebx
mov ebx, edi
or edx, ecx
and ebx, eax
mov ecx, edx
and edx, 0xa1e5812
not ecx
and ecx, 0xf5e1a7ed
or ecx, edx
xor ecx, ebp
mov ebp, eax
not ecx
and ebp, 0x4dfadb08
or ecx, edi
and edi, 0xb20524f7
or edi, ebp
mov ebp, ebx
and ebx, 0xb20524f7
mov edx, ecx
not ebp
not edx
or eax, ebp
and ebp, 0x4dfadb08
and edx, 0x7a828e71
or ebx, ebp
not eax
xor ebx, edi
or eax, ebx
mov edi, eax
and eax, 0x78b305b3
not edi
and edi, 0x874cfa4c
or eax, edi
mov edi, esi
xor eax, 0x78b305b3
and edi, eax
xor eax, esi
or eax, edi
mov esi, eax
and eax, 0xd081085e
not esi
and esi, 0x2f7ef7a1
or eax, esi
mov esi, ecx
or ecx, 0xff1be3b6
and esi, 0x857d718e
mov edi, eax
mov ebx, eax
xor eax, 0x2f9aebe8
or edx, esi
xor ebx, 0x2a2c1201
xor edi, 0xd081085e
mov esi, edx
xor edx, 0x85196186
and eax, edi
and ebx, 0xba2d1a57
and edi, 0x45d2e5a8
or edx, 0xe41c49
or edi, ebx
xor esi, 0x7a828e71
mov ebp, edx
and edx, 0xe27927a9
mov ebx, edi
xor edi, 0xba090216
not ebp
or edi, 0xe41c49
xor ebx, 0x45d2e5a8
and ebp, 0x1d02c016
or ebp, edx
mov edx, ecx
and ecx, 0xe27927a9
not edx
and edx, 0x841840
or edx, ecx
mov ecx, edi
not ecx
xor edx, ebp
mov ebp, edi
and ebp, 0x7ad72d7c
and ecx, 0x8508c282
or ecx, ebp
mov ebp, eax
and eax, 0x8528d283
not ebp
or edi, ebp
and ebp, 0x7ad72d7c
or eax, ebp
not edi
xor eax, ecx
or edi, eax
mov eax, edx
and edx, 0x3c074029
not eax
and eax, 0xc3f8bfd6
or edx, eax
mov eax, edi
and edi, 0x3c074029
not eax
and eax, 0xc3f8bfd6
or edi, eax
mov eax, esi
and eax, ebx
xor ebx, esi
xor edi, edx
or ebx, eax
mov ecx, edi
and edi, 0xf28a7486
mov eax, ebx
and ebx, 0x150a838c
not ecx
not eax
and eax, 0xeaf57c73
or ebx, eax
mov eax, ecx
and eax, 0xd758b79
or edi, eax
mov eax, ebx
xor ebx, 0xeaf57c73
xor eax, 0x100a0084
or ecx, ebx
and ebx, 0xd758b79
and eax, 0xf28a7486
not ecx
or eax, ebx
xor eax, edi
or ecx, eax
jmp 0x404489
cmp eax, 0xc4109647
je 0x40478c
cmp eax, 0xdfe98dcf
jne 0x4033c0
mov eax, dword [esp + 0x3c]
mov ecx, 0xb0e39ae6
mov dword [esp], 0
cmp eax, 1
mov eax, 0xb8a0a9ef
cmove eax, ecx
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
mov eax, dword [esp + 0x3c]
mov ecx, 0x630a2143
mov dword [esp + 0xc], 0
cmp eax, 3
mov eax, 0x529f66c0
jmp 0x40479d
mov eax, dword [esp + 0x34]
mov ebp, 0x6f655c5d
shl eax, 2
add eax, dword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [0x425f14]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
mov ecx, edx
mov edi, edx
not eax
and ecx, 0x2a624251
xor edi, 0x7a6b4afd
mov esi, eax
and edi, edx
and eax, 0x5dd54500
and esi, 0x500908ac
or ecx, esi
mov esi, ecx
xor ecx, 0xd59dbdae
xor esi, 0x22424250
mov ebx, ecx
and ebx, 0x1db1300b
and esi, 0x624a4af4
or esi, ebx
mov ebx, edi
and edi, 0xe24ecff4
not ebx
or ecx, ebx
and ebx, 0x1db1300b
or edi, ebx
not ecx
mov ebx, 0x457cb63b
xor edi, esi
or ecx, edi
mov esi, ecx
and ecx, 0x7a6b4afc
not esi
and esi, 0x8594b503
or ecx, esi
mov esi, ecx
and ecx, 0x14ee94b1
not esi
and esi, 0xeb116b4e
or ecx, esi
mov esi, ecx
xor ecx, 0xeb116b4e
mov edi, ecx
xor esi, 0x14c40400
or ecx, edx
and edx, 0xa22abaff
and edi, 0xa22abaff
and esi, 0x5dd54500
or eax, edx
not ecx
or esi, edi
mov edi, dword [0x425f18]
xor eax, esi
mov esi, 0x6f655c5d
or ecx, eax
cmp ecx, 0xffffffff
sete al
setne cl
sete byte [esp + 0x60]
cmp edi, 9
setg dl
cmp edi, 0xa
setl ah
setl byte [esp + 0x64]
mov ch, ah
and ah, cl
and cl, dl
and ch, al
and al, dl
or ch, cl
or ah, al
xor ch, 1
or ch, dl
mov edx, 0x6bb82002
xor ch, 1
xor ah, ch
xor ah, 1
and ch, ah
xor ch, 1
mov al, ch
or ch, ah
xor al, ah
not ch
or ch, al
mov eax, 0x87bda792
test ch, 1
cmovne esi, eax
mov eax, 0x7fb6af60
cmovne ebp, eax
mov eax, 0x356cd525
cmovne edx, eax
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x10]
mov dword [esp + 8], eax
nop dword [eax]
cmp ebx, 0x457cb63a
jle 0x403d70
cmp ebx, 0x6f655c5c
jg 0x403da0
cmp ebx, 0x457cb63b
je 0x403dc0
cmp ebx, 0x6bb82002
jne 0x403d40
mov ebx, 0x1a6dd7e0
cmp ebx, 0x457cb63a
jg 0x403d48
nop dword [eax]
cmp ebx, 0x87bda792
je 0x4047b0
cmp ebx, 0x1a6dd7e0
je 0x403e35
cmp ebx, 0x356cd525
jne 0x403d40
mov ebx, ebp
cmp ebx, 0x457cb63a
jg 0x403d48
jmp 0x403d70
cmp ebx, 0x6f655c5d
je 0x403e50
cmp ebx, 0x7fb6af60
jne 0x403d40
mov ebx, esi
cmp ebx, 0x457cb63a
jg 0x403d48
jmp 0x403d70
movzx eax, byte [esp + 0x60]
mov bh, byte [esp + 0x64]
mov edi, 0x1a6dd7e0
mov bl, al
xor bl, 1
mov ah, bl
xor ah, bh
xor bl, ah
and bl, ah
xor ah, 1
and ah, bh
xor bh, al
and bh, al
mov al, ah
xor ah, bh
xor al, 1
xor bh, 1
or bh, al
mov al, bl
xor bh, 1
xor al, 1
or bh, ah
mov ah, bh
and bh, al
xor ah, 1
or al, ah
and ah, bl
or ah, bh
mov ebx, 0x6bb82002
mov cl, ah
xor cl, al
test ah, 1
cmovne ebx, edi
test al, 1
mov eax, 0x6bb82002
cmovne ebx, eax
test cl, 1
cmove ebx, edi
cmp ebx, 0x457cb63a
jg 0x403d48
jmp 0x403d70
mov eax, dword [esp + 8]
mov ebx, edx
mov dword [esp + 0x68], eax
cmp ebx, 0x457cb63a
jg 0x403d48
jmp 0x403d70
mov ebx, 0x7fb6af60
cmp ebx, 0x457cb63a
jg 0x403d48
jmp 0x403d70
mov eax, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x30]
imul edx, dword [ecx + eax*4], 0x5bd1e995
mov ecx, edx
mov ebx, edx
mov ebp, edx
and edx, 0xa4d7b206
shr ecx, 0x18
not ebx
and ebp, 0x5156c083
mov eax, ecx
mov edi, ecx
not eax
and edi, 0x6d
mov esi, eax
and esi, 0x8f22e792
or edi, esi
mov esi, edi
and edi, 0xd0020c9
not esi
and esi, 0x10501836
or edi, esi
mov esi, ebx
and esi, 0xaea93f7c
or ebp, esi
mov esi, edi
xor edi, 0x1000080
xor esi, 0xa2a90758
and edi, 0x102c083
and esi, 0xaea93f7c
or edi, esi
xor edi, ebp
imul ebp, dword [esp + 0x4c], 0x5bd1e995
mov esi, edi
xor esi, ebx
and ebx, 0x5b284df9
or edx, ebx
and esi, edi
mov edi, edx
xor edx, 0x180804c0
xor edi, 0x4962006
and edx, 0xb84996c0
and edi, 0x47b6693f
or edi, edx
mov edx, edi
xor edi, 0x3862003
xor edx, 0xb84996c0
and edi, 0x83cf3003
and edx, 0x7c30cffc
or edx, edi
mov edi, edx
xor edx, 0x83cf3003
xor edi, 0x7c30cffc
and edx, ecx
and edi, eax
or edx, edi
mov edi, esi
xor eax, edx
not edi
and eax, edx
mov ecx, eax
and eax, edi
not ecx
or edi, ecx
and ecx, esi
mov edx, edi
or ecx, eax
mov eax, edi
not edx
and eax, 0x22b920e8
and edx, 0xdd46df17
or edx, eax
mov eax, ecx
and ecx, 0xdd46df17
not eax
or edi, eax
and eax, 0x22b920e8
or ecx, eax
lea eax, [esp + 0x24]
not edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x28]
xor ecx, edx
mov dword [esp + 0x60], eax
lea eax, [esp + 0x2c]
or edi, ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, 0x8f82edf0
nop word [eax + eax]
cmp eax, 0x6dcb3870
je 0x404032
cmp eax, 0x33379b6e
je 0x403fe0
cmp eax, 0x8f82edf0
jne 0x403fb0
cmp dword [esp + 0x68], 0
mov eax, 0x33379b6e
mov ecx, 0x6dcb3870
cmove eax, ecx
cmp eax, 0x6dcb3870
jne 0x403fb7
jmp 0x404032
mov eax, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
mov eax, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
mov eax, dword [eax]
mov ecx, dword [esp + 0x5c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x58]
sub eax, ecx
push eax
push ecx
call fcn.00408af0
add esp, 8
mov eax, dword [esp + 0x5c]
mov dword [eax], 0
mov eax, dword [esp + 0x60]
mov dword [eax], 0
mov eax, dword [esp + 0x64]
mov dword [eax], 0
mov eax, 0x6dcb3870
cmp eax, 0x6dcb3870
jne 0x403fb7
imul eax, edi, 0x5bd1e995
mov esi, ebp
mov edi, ebp
mov edx, eax
not esi
and edi, 0xf6a7512e
not edx
and eax, edx
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, esi
and ecx, 0x958aed1
not eax
or edi, ecx
xor edi, 0xf6a7512e
mov ecx, edi
and ecx, eax
xor eax, edi
mov edi, esi
and esi, ebp
and ebp, 0x6052c41b
and edi, 0x9fad3be4
or eax, ecx
or ebp, edi
mov ecx, eax
and eax, 0x4c3b320c
xor ebp, 0x6052c41b
not ecx
mov edi, ebp
xor ebp, esi
and edi, esi
or ebp, edi
mov esi, ebp
and ebp, 0xa76e06e
not esi
and esi, 0xf5891f91
or ebp, esi
mov esi, edx
xor ebp, 0xa76e06e
and esi, ebp
xor ebp, edx
or ebp, esi
mov edx, ebp
and ebp, 0x7564f746
not edx
and edx, 0x8a9b08b9
or ebp, edx
mov edx, ecx
mov esi, ebp
xor ebp, 0x8a9b08b9
xor edx, ebp
xor esi, 0x3144c542
and ebp, 0x4c3b320c
and esi, 0xb3c4cdf3
and edx, ecx
and ecx, 0xb3c4cdf3
or ecx, eax
or esi, ebp
mov eax, edx
xor esi, ecx
and eax, esi
xor esi, edx
or esi, eax
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x10], eax
mov eax, 0x33505ea5
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
mov eax, dword [esp + 0x38]
movsx ebx, byte [eax + 1]
mov edi, dword [esp + 0x54]
shl ebx, 8
mov ecx, ebx
mov esi, ebx
and ebx, 0xcc64ec00
not ecx
and esi, 0x96955900
mov edx, ecx
and ecx, 0x339b136a
and edx, 0x696aa6e5
or ebx, ecx
or esi, edx
mov ecx, ebx
mov edx, edi
xor ebx, 0x294302ef
mov eax, esi
xor esi, 0x4000a400
xor ecx, 0xc424ec10
or edx, 0x6ac4eeee
xor eax, 0x84040012
and ecx, 0xe527ee7a
and esi, 0x4001ec00
mov ebp, edx
and eax, 0xa5260272
or ebx, ecx
mov ecx, edx
and ebp, 0xe60b4310
or eax, esi
mov esi, edi
not ecx
mov dword [esp + 8], ebx
xor esi, 0x953b1111
and ecx, 0x11301001
mov ebx, eax
and esi, edi
or ecx, ebp
xor ebx, 0xbffe13f7
mov ebp, esi
and esi, 0x19f4bcef
mov dword [esp + 0x18], ebx
not ebp
or edx, ebp
and ebp, 0xe60b4310
or esi, ebp
not edx
xor esi, ecx
mov ecx, edi
and edi, 0x9188a200
or edx, esi
not ecx
mov esi, edx
and edx, 0x953b1111
not esi
and esi, 0x6ac4eeee
or edx, esi
mov esi, edx
and edx, 0x9ac5b43f
not esi
and esi, 0x653a4bc0
or edx, esi
mov esi, edx
xor edx, 0x801da5ba
xor esi, 0x1ac01005
and esi, 0x1ad81185
or edx, esi
mov esi, ecx
and esi, 0x6e775dff
or edi, esi
xor edi, 0x74af4c7a
or edi, ecx
mov ecx, eax
xor ecx, 0x931fa654
mov dword [esp + 0x1c], edi
and ecx, ebx
mov esi, ecx
and ecx, 0xf5204c74
not esi
mov ebp, esi
and ebp, 0x8c7a38b
or ecx, ebp
mov ebp, eax
xor eax, 0x8107a658
xor ebp, 0x4001ec08
and eax, ebp
mov ebx, eax
and eax, 0xe5204c70
not ebx
or esi, ebx
and ebx, 0xadfa383
or eax, ebx
mov ebx, dword [esp + 8]
not esi
xor eax, ecx
or esi, eax
mov edi, ebx
not edi
mov eax, edi
or eax, 0x2ce1b5ab
mov ecx, eax
and eax, 0x260f5b39
not ecx
and ecx, 0xd1100044
or ecx, eax
mov eax, ebx
or eax, 0xd31e4a54
mov ebx, eax
and eax, 0x260f5b39
not ebx
and ebx, 0x8e0a402
or ebx, eax
mov eax, esi
and esi, 0xf6b25b30
not eax
xor ebx, ecx
mov ecx, dword [esp + 0x18]
and eax, 0x94da4cf
or esi, eax
mov eax, ebx
and ebx, 0xf6b25b30
not eax
and eax, 0x94da4cf
and ecx, 0x22218f05
or ebx, eax
mov eax, ebp
or ebp, edi
and edi, 0xddde7060
and eax, 0xc5066060
not ebp
xor ebx, esi
mov esi, edx
and edx, 0x987b185f
or ecx, eax
mov eax, dword [esp + 8]
not esi
and eax, 0x22218f1f
or eax, edi
xor eax, ecx
mov ecx, esi
or ebp, eax
mov eax, ebp
and ebp, 0x59237769
not eax
and eax, 0xa6dc8896
or ebp, eax
mov eax, ebx
xor ebp, 0x59237769
and eax, ebp
xor ebp, ebx
or ebp, eax
mov eax, dword [esp + 0x1c]
xor ecx, eax
and ecx, esi
and esi, 0x6784e7a0
or esi, edx
mov edx, eax
and eax, 0x987b185f
not edx
and edx, 0x6784e7a0
or edx, eax
mov eax, ecx
and ecx, 0x69af1efc
not eax
xor edx, esi
mov esi, eax
and esi, 0x9650e103
or ecx, esi
mov esi, edx
and edx, 0x69af1efc
not esi
or eax, esi
and esi, 0x9650e103
or edx, esi
not eax
xor edx, ecx
mov ecx, ebp
and ebp, 0x34abfcfa
not ecx
or eax, edx
and ecx, 0xcb540305
mov edx, eax
or ebp, ecx
mov ecx, eax
xor edx, 0xcb540305
not ecx
and ecx, edx
and edx, eax
mov eax, ecx
and eax, edx
xor edx, ecx
mov ecx, dword [0x425f24]
or edx, eax
mov eax, ebp
and ebp, 0x85abee3f
not eax
and eax, 0x7a5411c0
or ebp, eax
mov eax, edx
and edx, 0x85abee3f
not eax
and eax, 0x7a5411c0
or edx, eax
lea eax, [ecx - 1]
imul eax, ecx
xor edx, ebp
mov dword [esp + 0x48], edx
mov edx, eax
mov ecx, eax
xor edx, 0xfffffffe
not ecx
and edx, eax
or eax, 1
mov edi, ecx
mov esi, eax
and edi, 0x41d2f5c8
and esi, 0xbe2d0a36
or edi, esi
mov esi, edx
and edx, 0x41d2f5c9
not esi
or eax, esi
and esi, 0xbe2d0a36
or edx, esi
not eax
mov esi, 0xb8bb28bc
xor edx, edi
or eax, edx
not eax
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
cmp eax, 0xffffffff
sete al
cmp dword [0x425f28], 9
setg cl
mov edx, ecx
xor dl, al
xor dl, 1
mov ah, dl
and dl, al
or ah, cl
or cl, al
mov al, dl
xor cl, 1
and al, cl
xor cl, dl
mov dl, ah
or cl, al
xor cl, 1
or dl, cl
xor cl, ah
mov eax, edx
xor al, cl
test al, 1
mov eax, 0x38ec96e3
cmovne esi, eax
test cl, 1
mov ecx, 0xb8bb28bc
mov eax, esi
cmovne eax, ecx
test dl, 1
cmovne eax, esi
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
mov ecx, dword [esp + 0x4c]
mov eax, 0x7f90b7cb
mov dword [esp + 4], ecx
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
lea eax, [esp + 0x24]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov eax, dword [0x425f2c]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0xda164057
and eax, 0xff47a7d
and edx, ecx
not ecx
and ecx, 0xf00b8582
or eax, ecx
mov ecx, eax
xor eax, 0xd0020002
or eax, 0x25e9bfa8
xor ecx, 0x2100041
mov esi, eax
and ecx, 0x2120041
and esi, 0xd884c8b6
or ecx, esi
mov esi, edx
and edx, 0x277b3749
not esi
or eax, esi
and esi, 0xd884c8b6
or edx, esi
not eax
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0xd2f6a63
not ecx
and ecx, 0xf2d0959c
or eax, ecx
mov ecx, eax
mov edx, eax
xor eax, 0x28c6d5ca
xor ecx, 0xd7392a34
xor edx, 0xd7392a35
and eax, 0xfffffffe
and edx, ecx
and ecx, 1
or ecx, eax
mov eax, edx
and eax, ecx
xor ecx, edx
or ecx, eax
mov eax, dword [0x425f30]
mov edx, ecx
xor edx, 0xdd52cc4a
and edx, ecx
not ecx
and ecx, 0xdd52cc4a
mov esi, ecx
and esi, edx
xor edx, ecx
or edx, esi
mov esi, 0x74c9ffe1
mov ecx, edx
and edx, 0x34683b71
not ecx
and ecx, 0xcb97c48e
or edx, ecx
mov ecx, edx
xor edx, 0x450000
xor ecx, 0x20b209
and edx, 0xe95f4532
and ecx, 0x16a0bacd
or ecx, edx
mov edx, ecx
xor ecx, 0x884f4522
xor edx, 0x4a0b804
and ecx, 0x9a4f47eb
and edx, 0x65b0b814
or edx, ecx
xor edx, 0x9a4f47eb
cmp edx, 0xffffffff
sete cl
setne dl
sete byte [esp + 0x64]
cmp eax, 0xa
setl al
setl byte [esp + 0x68]
mov ah, al
xor dl, al
xor al, cl
or ah, cl
xor dl, 1
mov ecx, eax
xor ah, 1
xor cl, 1
or ah, dl
mov dl, ah
xor dl, 1
mov ch, dl
and ch, ah
mov dh, ch
xor ch, dl
xor dh, 1
or dh, ah
xor dh, 1
or dh, ch
mov ch, dh
and dh, cl
xor cl, ah
xor ch, 1
and ch, al
or al, dl
xor al, 1
or dh, ch
or al, cl
mov ecx, eax
xor cl, dh
test cl, 1
mov ecx, 0x5b6ae3c4
cmovne ecx, esi
test al, 1
mov esi, 0x5b6ae3c4
cmovne esi, ecx
test dh, dh
cmove esi, ecx
mov ecx, 0x12dd17f2
nop word [eax + eax]
cmp ecx, 0x5b6ae3c3
jg 0x404710
cmp ecx, 0xf8749926
je 0x404753
cmp ecx, 0x12dd17f2
jne 0x404640
mov dh, byte [esp + 0x64]
movzx eax, byte [esp + 0x68]
mov edi, 0x74c9ffe1
mov bh, dh
mov bl, al
mov ah, al
xor bh, 1
xor bl, 1
mov dl, bh
mov cl, bh
and ah, bl
and dl, bl
xor cl, bl
or cl, dl
mov dl, ah
xor ah, al
xor dl, 1
mov ch, cl
or dl, bl
xor ch, 1
xor dl, 1
mov bl, ch
or dl, ah
mov ah, cl
and bh, dl
xor dl, 1
and ah, ch
and dl, dh
xor ah, 1
or dl, bh
xor bl, ah
or ah, ch
mov al, dl
xor ah, 1
xor al, 1
or ah, bl
mov dh, al
xor cl, al
mov bh, ah
and dh, dl
xor bh, 1
xor al, dh
xor dh, 1
or dh, dl
or dl, ch
xor dh, 1
xor dl, 1
or dh, al
or dl, cl
mov ecx, 0xf8749926
and bh, dh
xor dh, 1
mov bl, dl
and dh, ah
or dh, bh
xor bl, dh
test dl, 1
cmovne ecx, edi
test dh, 1
mov edx, 0xf8749926
cmove ecx, edi
test bl, 1
cmove ecx, edx
cmp ecx, 0x5b6ae3c3
jle 0x40464c
nop dword [eax + eax]
cmp ecx, 0x5b6ae3c4
je 0x404842
cmp ecx, 0x74c9ffe1
jne 0x404640
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov ecx, 0xf8749926
cmp ecx, 0x5b6ae3c3
jle 0x40464c
jmp 0x404710
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov ecx, esi
cmp ecx, 0x5b6ae3c3
jle 0x40464c
jmp 0x404710
cmp dword [esp + 0x20], 0x64
mov eax, 0x14887217
mov ecx, 0x9376ca12
jmp 0x40479d
mov eax, dword [esp + 0x3c]
mov ecx, 0xdfe98dcf
cmp eax, 2
mov eax, 0x6f241e6e
cmovl eax, ecx
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
mov eax, dword [esp + 0x68]
mov ecx, eax
and eax, 0xffefea0e
not ecx
and ecx, 0x1015f1
or eax, ecx
mov ecx, eax
xor eax, 0x1015f1
xor ecx, 0xffefea0e
mov edx, eax
mov esi, ecx
and edx, 0x839011d8
and ecx, 0x27d7608e
and esi, 0x7c6fee27
or esi, edx
mov edx, esi
and esi, 0x839011db
not edx
and edx, 0x7c6fee24
or esi, edx
mov edx, eax
and eax, 3
and edx, 0xd8289f71
or edx, ecx
mov ecx, esi
xor edx, 0x27d7608d
or eax, edx
not eax
and ecx, eax
xor eax, esi
or eax, ecx
mov ecx, eax
not ecx
and eax, ecx
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov dword [esp + 0x3c], eax
mov eax, 0xc4109647
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
lea eax, [esp + 0x20]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], 0
mov eax, 0xa99a45c4
cmp eax, 0x14887216
jg 0x4033cb
jmp 0x403450
mov edi, dword [esp + 4]
mov eax, edi
shr eax, 0xd
mov ecx, eax
mov esi, eax
and eax, 0x64518
not ecx
and esi, 0x48c2
mov edx, ecx
and ecx, 0x7209bae7
or eax, ecx
and edx, 0xc7d10228
mov ecx, eax
xor eax, 0x118c4
or edx, esi
xor ecx, 0x8df64518
and eax, 0x15cc4
mov esi, ecx
and ecx, 0xdfd94aea
and esi, 0x722ea33b
or esi, eax
xor esi, 0x5208162e
or ecx, esi
mov esi, edi
mov eax, ecx
and ecx, 0x10b4db45
not esi
not eax
mov ebx, esi
and eax, 0x620b24ba
and ebx, 0x409b3832
or ecx, eax
mov eax, edi
mov dword [esp], ecx
mov ecx, edi
and edi, 0x4c0270c
and eax, 0xeb23d0f3
and ecx, 0xbf64c7cd
or ecx, ebx
mov ebx, edx
xor ecx, 0x60bd8d27
xor ebx, 0xe7f7b73d
or ecx, esi
and esi, 0x101c0800
mov ebp, ebx
mov dword [esp + 0xc], ebx
mov ebx, edx
or edi, esi
xor ebx, 0x27551c
mov dword [esp + 4], ecx
xor edi, 0x4c0270c
and ebx, ebp
or eax, edi
mov esi, eax
and eax, 0x14dc2f0c
not esi
and esi, 0xeb23d0f3
or eax, esi
mov esi, eax
xor eax, 0xdfd94aea
not esi
and esi, 0x2026b515
or eax, esi
mov esi, eax
and eax, 0x4d127c4e
not esi
and esi, 0xb2ed83b1
or eax, esi
mov esi, ebx
and ebx, 0x5449e
not esi
mov edi, esi
and edi, 0xa550aa61
or ebx, edi
mov edi, edx
xor edx, 0x8d594008
xor edi, 0x180848c2
and edx, edi
mov ebp, edx
and edx, 0x4a89408a
not ebp
or esi, ebp
and ebp, 0xa572bb61
or edx, ebp
mov ebp, dword [esp]
not esi
xor edx, ebx
or esi, edx
mov ecx, ebp
mov dword [esp + 8], ebp
xor ebp, 0x85c3c69b
xor ecx, 0xef4b24ba
and ebp, ecx
mov edx, ebp
and ebp, 0x452d84cc
not edx
mov ebx, edx
and ebx, 0xbad27b33
or ebp, ebx
mov dword [esp], ebp
mov ebp, ecx
and ecx, 0x3b2f29d1
or ebp, 0x95771dde
mov ebx, ebp
or edx, ebp
and ebp, 0xbad27b33
not ebx
not edx
and ebx, 0x40088000
or ebx, ebp
mov ebp, dword [esp + 4]
xor ebx, dword [esp]
or edx, ebx
mov ebx, esi
not ebx
and ebx, edx
not edx
and edx, esi
mov esi, edi
or edx, ebx
mov ebx, dword [esp + 0xc]
and esi, 0xc4d0422a
and ebx, 0x202729d1
or ebx, esi
mov esi, dword [esp + 8]
xor esi, 0x10b4db45
or edi, esi
and esi, 0xc4d0d62e
or ecx, esi
not edi
mov esi, eax
xor eax, 0xb2ed83b1
xor ecx, ebx
mov ebx, ebp
xor esi, 0x4d127c4e
or edi, ecx
not ebx
mov ecx, edx
not edi
and ebx, eax
or eax, ebp
and ecx, edi
xor edi, edx
mov edx, ebp
not eax
and edx, esi
or edi, ecx
mov ecx, eax
or edx, ebx
and ecx, edx
xor edx, eax
mov eax, edi
xor eax, 0x1aea589b
or edx, ecx
mov ecx, edi
and eax, edi
not edi
and ecx, 0xe25883
mov esi, edx
mov ebx, edx
xor edx, 0x1aea589b
and edi, 0x1a080018
not esi
or ecx, edi
and esi, edx
and edx, ebx
xor ecx, 0xe25883
mov edi, ecx
and edi, eax
xor eax, ecx
mov ecx, esi
and esi, 0x84a08c38
or eax, edi
mov edi, edx
not ecx
and edx, 0x84a08c38
mov ebx, ecx
not edi
or ecx, edi
and ebx, 0x7b5f73c7
and edi, 0x7b5f73c7
or esi, ebx
or edx, edi
not ecx
xor edx, esi
or ecx, edx
mov edx, eax
and eax, 0x3ae9867a
not edx
and edx, 0xc5167985
or eax, edx
mov edx, ecx
and ecx, 0x3ae9867a
not edx
and edx, 0xc5167985
or ecx, edx
xor ecx, eax
imul eax, ecx, 0x5bd1e995
mov esi, eax
shr esi, 0xf
mov ecx, esi
mov edi, esi
mov ebx, esi
and esi, 0x47a8
not ecx
and edi, 0xb064
and ebx, 0x14c91
mov edx, ecx
and edx, 0x2a030a
or edi, edx
xor edi, 0x4804b064
or ebx, edi
mov edi, ecx
mov edx, ebx
and ebx, 0x482eb36e
and edi, 0x276db857
not edx
or esi, edi
mov edi, eax
and edx, 0xb7d14c91
not edi
xor ecx, esi
or ebx, edx
mov ebp, edi
and ecx, esi
mov esi, eax
mov edx, ebx
and ebx, 0x276db857
and ebp, 0x25f8c881
and esi, 0x82482520
not edx
and edx, 0xd89247a8
or ebx, edx
mov edx, ebx
xor edx, 0xd89247a8
and edx, ebx
mov ebx, eax
xor ebx, 0x8fc9a5f0
and ebx, eax
and eax, 0xda07377e
or eax, ebp
xor eax, 0xfd6a8f29
or eax, edi
and edi, 0xd8180d0
or esi, edi
mov edi, esi
xor esi, 0x7db7dadf
xor edi, 0x80002000
mov ebp, esi
and ebp, 0x1ac94dfb
and edi, 0x8500a000
or edi, ebp
mov ebp, ebx
and ebx, 0xe536b204
not ebp
or esi, ebp
and ebp, 0x1ac94dfb
or ebx, ebp
not esi
xor ebx, edi
or esi, ebx
mov edi, esi
and esi, 0xd82181d9
not edi
and edi, 0x27de7e26
or esi, edi
mov edi, esi
xor esi, 0xa817dbd6
xor edi, 0x57682000
mov ebx, esi
and ebx, 0xa080c62b
and edi, 0x5f7f39d4
or edi, ebx
mov ebx, edx
xor edi, 0x87ed7e7c
not ebx
or edi, esi
mov esi, ecx
and ecx, ebx
not esi
or ebx, esi
and esi, edx
mov edx, edi
not ebx
or esi, ecx
not edx
mov ecx, ebx
and ecx, esi
xor esi, ebx
or esi, ecx
mov ecx, eax
not ecx
and ecx, edi
or edi, eax
and eax, edx
mov edx, edi
or eax, ecx
mov ecx, edi
not edx
and ecx, 0x52d5100f
and edx, 0xad2aeff0
or edx, ecx
mov ecx, eax
and eax, 0xad2aeff0
not ecx
or edi, ecx
and ecx, 0x52d5100f
or eax, ecx
not edi
xor eax, edx
or edi, eax
mov eax, esi
mov ecx, edi
xor eax, edi
not ecx
and eax, edi
and edi, 0xf7cf6dc0
and ecx, 0x830923f
or edi, ecx
xor edi, esi
xor edi, 0x830923f
and edi, esi
mov esi, eax
and eax, 0xe818e7d
not esi
mov ecx, esi
and ecx, 0xf17e7182
or eax, ecx
mov ecx, edi
and edi, 0xe818e7d
not ecx
or esi, ecx
and ecx, 0xf17e7182
or edi, ecx
mov ecx, dword [esp + 0x6c]
not esi
xor edi, eax
or esi, edi
xor ecx, esp
call fcn.0040ed03
mov eax, esi
add esp, 0x70
pop esi
pop edi
pop ebx
pop ebp
ret