Function at 0x40d19c
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
xor eax, eax
push ebp
push 0x40e4a6
push dword fs:[eax]
mov dword fs:[eax], esp
pushaw
xor edx, edx
or edx, 0x50309658
xor eax, eax
add eax, edx
xor ebx, ebx
mov esi, 0x140c258e
add ebx, esi
shr eax, 2
xor ebx, eax
mov ecx, dword fs:[ebx]
mov eax, 0x30
add ecx, eax
sub esp, 4
mov eax, esp
mov dword [eax], ecx
pop edi
mov ebx, 0x4c266614
mov eax, 0x984ccc0
shr ebx, 3
xor eax, ebx
lea edi, [edi + eax]
mov edx, dword [edi - 2]
mov ecx, 8
mov eax, ecx
test ebx, ebx
mov ebx, 4
xor eax, ebx
lea edx, [edx + eax]
lea edi, [edx]
push 0xd1c0c40
mov ecx, 0x34703119
pop eax
shl eax, 2
xor eax, ecx
add edi, eax
mov ebx, dword [edi - 0x19]
xor edi, edi
sub edi, 0x824b5069
mov edx, 0x1f6d2b2
shr edi, 6
xor edx, edi
lea ebx, [ebx + edx]
lea esp, [esp - 4]
mov edx, 0x4b677f12
sub edi, edi
add edi, 0x382f756e
mov ecx, 0x705eead
shr edi, 3
xor ecx, edi
add esi, ecx
shl edx, 6
add edx, 0x26203b80
xor edx, esp
mov dword [edx], ebx
pop edi
mov eax, 0
xor eax, edi
xchg ebx, eax
mov esi, 0xfffffffc
add esp, esi
push esp
pop ecx
mov dword [ecx], ebx
mov ebx, edi
push ebx
pop esi
mov edx, 0xffffffbf
sub esi, edx
mov eax, dword [esi - 0x41]
sub ecx, ecx
add ecx, dword [eax]
xor esi, esi
add esi, 0x3ed75b94
mov edx, 0x39b44f57
add edx, 0x34
cmp edx, 0xffffffd5
jne 0x40d2ac
add edx, 0x12
push edx
mov edx, 0xda27c580
mov eax, edx
mov edx, dword [esp]
mov ebx, edx
mov edx, 4
add esp, edx
shl ebx, 7
xor ebx, eax
cmp ebx, edi
mov edx, 0xc128a440
mov edi, edx
xor esi, edi
sub ecx, esi
xor esi, esi
lea esi, [esi + ecx]
mov edi, 0x72cbaef6
mov eax, 0xffffffff
test eax, ebx
shl edi, 7
add edi, 0x9a2884ff
add esi, edi
mov edx, dword [esi + 1]
and edx, 0xffff
xor edx, 0x18
add edx, 0
jne 0x40d4de
lea ecx, [ecx + 4]
mov ebx, 0x3f530a41
mov esi, 0
cmp esi, edx
shl ebx, 6
add ebx, 0x2b3d6fc0
xor ebx, dword [ecx]
mov edx, ebx
mov edi, 0
xor edi, edx
xor eax, eax
add eax, edi
push 0x52c333eb
mov ebx, 0x2c333eb4
pop esi
shl esi, 4
xor esi, ebx
sub esp, esi
mov dword [esp], eax
xor ebx, ebx
add ebx, dword [edi]
and ebx, 0xff
mov ecx, 0x4eae72f3
mov eax, ecx
sub edi, 0
shl eax, 3
mov ecx, eax
xor ecx, 0xffffffff
and eax, 0x8a8c680c
and eax, 0xffffffff
and ecx, 0x757397f3
or eax, ecx
xor ebx, eax
sub edi, edi
mov esi, 0xb4918360
sub edi, esi
xor edx, edx
or edx, 0x12db9f2
mov eax, edx
shr edi, 6
xor eax, edi
sub ebx, eax
je 0x40d3eb
mov eax, 0x6fea57c0
sub ecx, 0
shl eax, 5
add eax, 0x1a032bc
add eax, 0x114d564
xor ebx, eax
xor edi, edi
mov eax, 0
sub edi, eax
mov ecx, 0x6c20cbcb
mov esi, 0
sub eax, esi
shl ecx, 4
mov esi, 0xc20cbcb0
sub ecx, esi
add edx, ecx
xor ecx, ecx
or ecx, 0
mov eax, ecx
xchg edx, eax
xor edi, edx
sub ebx, edi
jne 0x40d4dd
pop edx
mov ebx, 0x76e0a3bb
mov edi, 0xf123eb8d
shr ebx, 3
xor edi, ebx
sub edx, edi
push edx
pop esi
xchg eax, esi
mov ecx, 0
xor ecx, eax
mov edi, ecx
push edi
xor edi, edi
add edi, dword [edx]
lea ecx, [edi]
sub esp, 4
mov edi, esp
mov dword [edi], ecx
mov esi, dword [esp]
add esp, 4
and esi, 0xff
xor esi, 0x4e
or esi, 0
je 0x40d43f
xor esi, 0x20
sub esi, 0
jne 0x40d4dd
push esp
pop eax
add eax, 0xffffffff
mov esi, dword [eax + 1]
mov ebx, 0x12325460
mov edi, 0x2464ac
shr ebx, 7
xor edi, ebx
lea esp, [esp + edi]
mov ecx, 6
add esi, ecx
mov ecx, esi
mov eax, ecx
sub eax, 0x3f
mov ecx, 1
sub eax, ecx
mov ebx, dword [eax + 0x40]
push 0xe1e9ecf
mov eax, 0x1c3d3d9e
pop edi
shl edi, 1
xor edi, eax
xor edi, ebx
sub ecx, ecx
add ecx, edi
mov edx, 0x52349415
cmp esi, 0
mov esi, 0x84c10002
xor edx, esi
xor ecx, edx
mov esi, ecx
xor esi, 0xffffffff
and ecx, 0xd6f59417
and ecx, 0xffffffff
and esi, 0x290a6be8
or ecx, esi
and edi, 0xffcdffcc
and edi, 0xffffffff
and ecx, 0x320033
or edi, ecx
cmp edi, 0
je 0x40d4fc
jmp 0x40d4de
pop ecx
pop ecx
xor edx, edx
add edx, dword [ecx]
mov ecx, 4
sub esp, ecx
mov esi, esp
push esi
mov eax, dword [esp]
add esp, 4
mov dword [eax], edx
jmp 0x40d263
mov ebx, esp
dec ebx
mov esi, dword [ebx + 1]
xor edx, edx
add edx, esi
mov ecx, 0x34bc478e
mov ebx, 0x1a5e238
shr ecx, 5
xor ebx, ecx
lea esp, [esp + ebx]
xor eax, eax
add eax, dword [edx]
xor esi, esi
lea esi, [esi + eax]
mov ebx, 0
xor ebx, esi
mov ecx, 0xffffffda
sub ebx, ecx
mov eax, dword [ebx - 0x26]
push eax
pop edi
xchg edi, edx
lea edx, [edx + 0x18]
xor eax, eax
lea eax, [eax + edx]
push 0x45d990e9
mov esi, 0x76643a19
pop ecx
shl ecx, 6
xor ecx, esi
sub eax, ecx
mov edi, dword [eax + 0x59]
lea esi, [edi]
mov edx, 0x5ed1487b
mov eax, 0x17b4525
shr edx, 6
xor eax, edx
sub esp, eax
mov dword [esp], esi
xor eax, eax
add eax, edi
mov ebx, eax
push ebx
mov ecx, esp
dec ecx
mov edx, dword [ecx + 1]
add esp, 4
xor esi, esi
add esi, 0x44453c05
xor edi, edi
sub edi, 0xeeeeb0c3
shr esi, 2
xor edi, esi
add edx, edi
mov esi, 0x693b233
sub edi, 0
shl esi, 7
xor esi, 0x49d91980
xor esi, edx
push 0x41c5d6f2
mov edi, 0xf8e8a465
pop ebx
shl ebx, 2
xor ebx, edi
sub esi, ebx
mov eax, dword [esi - 0x53]
mov ecx, 0x76454ab9
mov ebx, ecx
xor edx, edx
add edx, 0xec8a957
shr ebx, 3
xor edx, ebx
xor edx, dword [esp]
lea eax, [eax + edx]
xor edi, edi
add edi, 0x177deafa
xor edx, edx
or edx, 0xf4410af5
shr edi, 1
xor edx, edi
sub eax, edx
xor ecx, ecx
add ecx, eax
push ecx
pop edi
mov edx, 0x35
sub edi, edx
mov ecx, 0x33f67f21
mov ebx, 0x67ecfe5
shr ecx, 3
xor ebx, ecx
sub edi, ebx
mov eax, dword [edi + 0x36]
mov esi, esp
xchg edx, esi
xchg ecx, edx
mov edx, 1
sub ecx, edx
mov ebx, dword [ecx + 1]
lea eax, [eax + ebx]
xor esi, esi
add esi, 0x2e60c828
sub edx, 0
shl esi, 5
mov ecx, 0x3c83eba
xor esi, ecx
xor esi, 0x302ec45a
sub eax, esi
mov edi, 0x1c810c8c
add esi, 0
xor esi, esi
mov ebx, 0xe37ef370
add esi, ebx
xor edi, esi
lea edi, [edi + eax]
mov ecx, edi
xchg edx, ecx
xchg edx, ebx
push 0x57d3877e
mov ecx, 0xafa70edb
pop esi
shl esi, 1
xor esi, ecx
sub ebx, esi
mov edi, dword [ebx + 0x27]
push 0x48e48fa0
mov edx, 0x1c91f400
pop ecx
shl ecx, 5
xor ecx, edx
xor ecx, esp
mov edx, 1
cmp esi, 0
mov esi, 0
xor edx, esi
sub ecx, edx
mov ebx, dword [ecx + 1]
add edi, ebx
lea edx, [edi]
mov ebx, 0x7d6abadb
mov ecx, 0
or esi, ecx
shl ebx, 3
xor ebx, 0xeb55d6dc
sub esp, ebx
mov dword [esp], edx
xor ecx, ecx
or ecx, 0x70bf04e5
sub edx, 0
shl ecx, 1
mov esi, 0x281b210
and ebx, 0xffffffff
mov ebx, 0x1c00442a
xor esi, ebx
lea ecx, [ecx + esi]
add ecx, eax
mov edi, ecx
xchg edx, edi
lea edx, [edx + 0x56]
mov ebx, 1
sub edx, ebx
mov esi, dword [edx - 0x55]
mov edx, esi
xchg ebx, edx
xchg ebx, ecx
mov esi, dword [esp + 4]
xor ebx, ebx
add ebx, dword [esp + 4]
mov edi, 0
xor edi, ebx
mov esi, 0
test ebx, ebx
mov ebx, 0
xor esi, ebx
xor esi, edi
lea ecx, [ecx + esi]
mov esi, 0x48ef44c1
or edx, 0
shl esi, 1
xor esi, 0x6e21767e
lea esp, [esp + esi]
mov edx, 0
xor edx, esp
xchg ebx, edx
mov dword [ebx], ecx
mov ebx, 0
xor ebx, eax
mov ecx, 1
sub ebx, ecx
mov esi, dword [ebx + 1]
xor eax, eax
lea eax, [eax + esi]
xor ebx, ebx
add ebx, 0x2979723
mov esi, 0x18e1fee6
mov ecx, 0x31c3fdc
shr esi, 3
xor ecx, esi
sub edi, ecx
shl ebx, 1
add ebx, 0xfb953797
add ebx, 0xff3b9a23
xor ebx, dword [esp + 8]
add eax, ebx
xor ebx, ebx
add ebx, dword [eax]
sub ecx, ecx
add ecx, dword [esp + 8]
lea ebx, [ebx + ecx]
lea ebx, [ebx + 5]
xor ecx, ecx
add ecx, ebx
lea ecx, [ecx - 1]
mov esi, dword [ecx + 1]
lea ebx, [esi]
xor ecx, ecx
add ecx, ebx
lea edx, [ecx]
mov edi, edx
xor edi, 0xffffffff
and edx, 0
and edx, 0xffffffff
and edi, 0xffffffff
or edx, edi
and ecx, 0
and ecx, 0xffffffff
and edx, 0xffffffff
or ecx, edx
and ebx, 0x9bbe9c90
and ebx, 0xffffffff
and ecx, 0x6441636f
or ebx, ecx
sub ebx, 0
je 0x40d875
mov ebx, 0x6d906782
add ecx, 0
shl ebx, 7
sub ebx, 0xc833c104
sub eax, ebx
mov ecx, esp
xchg edi, ecx
add edi, 0xfffffff4
mov edx, 1
sub edi, edx
mov esi, dword [edi + 0xd]
mov ebx, 0x54830743
mov edi, 0xeadf3e2c
shr ebx, 2
xor edi, ebx
sub esp, edi
xor edi, edi
add edi, 0x660118fe
xor ecx, ecx
add ecx, 0x33008c5
shr edi, 5
xor ecx, edi
lea esi, [esi + ecx]
xor edx, edx
add edx, esi
xchg ebx, edx
mov edi, 0x3a7ad8c4
or ecx, 0
mov ecx, 0xc5852738
xor edi, ecx
add esp, edi
mov dword [esp], ebx
jmp 0x40d790
pop eax
lea edi, [eax]
mov ebx, 0xffffffd3
add edi, ebx
mov ecx, 0x3aaa6d97
push 0x45b18153
mov esi, 0x8b6302a6
pop edx
shl edx, 1
xor edx, esi
cmp edx, ebx
shl ecx, 3
xor ecx, 0xd5536cb9
sub edi, ecx
mov eax, dword [edi + 0x2e]
and eax, 0xffff
add eax, eax
xor ebx, ebx
lea ebx, [ebx + eax]
add eax, ebx
pop edx
add edx, eax
mov edi, 0x6fe33da7
sub esi, esi
lea esi, [esi + 0x46997a53]
and eax, eax
shl esi, 7
lea esi, [esi - 0x4cbd2981]
and esi, ecx
shl edi, 1
xor edi, 0xdfc67b4e
xor edi, edx
mov esi, 0x65614bf1
mov eax, 0x2d2b1b5e
cmp ebx, 0
shl eax, 6
add eax, 0xb5392880
add ecx, eax
shl esi, 2
xor esi, 0x6a7ad03b
lea edi, [edi + esi]
mov edx, dword [edi + 1]
xor edi, edi
add edi, dword [esp]
lea esp, [esp + 4]
add edx, edi
lea ecx, [edx]
add esp, 0xfffffffc
push esp
pop eax
mov dword [eax], ecx
mov ebx, 0x7ce7f34b
cmp ebx, 0xffffff85
jne 0x40d92e
add ebx, 0xf6
add ebx, 0xb5
push ebx
mov esi, 0x41797288
add esi, 0xffffffd9
cmp esi, 0x76
jne 0x40d950
add esi, 0x52
push esi
mov eax, 0x726269c0
cmp eax, 0x40
jne 0x40d967
add eax, 0xac
sub eax, 0x74
cmp eax, 0xffffffc5
jne 0x40d97a
add eax, 0x80
push eax
cmp eax, 0x7b
jne 0x40d989
add eax, 0x30
mov ecx, 0x64616f03
add ecx, 0x49
push ecx
push esp
pop esi
xchg esi, eax
mov ecx, 0xfffffffc
add esp, ecx
xor ebx, ebx
add ebx, esp
mov dword [ebx], eax
xor esi, esi
add esi, edi
mov eax, 4
add ebx, 0
mov ebx, 0
xor eax, ebx
sub esp, eax
mov dword [esp], esi
call edx
mov ebx, 0xfffffff0
sub esp, ebx
xor ecx, ecx
add ecx, eax
xchg ecx, edx
mov ebx, 0
xor ebx, edx
mov esi, 4
sub esp, esi
mov dword [esp], ebx
mov ecx, esp
mov ebx, ecx
add ebx, 0xffffffa3
add ebx, 0xfffffff6
mov ecx, 0xffffffff
add ebx, ecx
mov edi, dword [ebx + 0x68]
mov ebx, 0x1ca60c44
push 0x4ca4d422
mov esi, 0x6526a110
pop edx
shl edx, 3
xor edx, esi
cmp edx, ecx
mov ecx, 0xe359f3b8
xor ebx, ecx
sub esp, ebx
mov ebx, 0xdd76d500
add ebx, 0
cmp ebx, 0xffffffc4
jne 0x40da3a
add ebx, 0xbc
push ebx
mov ebx, 0x32336b72
add ebx, 0xf3
push ebx
cmp ebx, 0x45
jne 0x40da57
add ebx, 0xbe
mov ebx, 0x6e7265db
cmp ebx, 7
jne 0x40da6c
add ebx, 0x9e
sub ebx, 0x70
cmp ebx, 0x28
jne 0x40da81
add ebx, 0x15
push ebx
cmp ebx, 0x21
jne 0x40da91
add ebx, 0xd9
mov ebx, 0
push 0x7e53ded1
mov esi, 0x1ac212ef
pop edx
shl edx, 4
xor edx, esi
and ecx, edx
mov ecx, 0
xor ebx, ecx
xor ebx, esp
mov ecx, 0x594ed5e
mov esi, 0xffffffff
and esi, edx
shl ecx, 5
xor ecx, 0xb29dabc4
sub esp, ecx
mov dword [esp], ebx
call edi
xor ebx, ebx
add ebx, 0x3e66cbbd
xor ecx, ecx
or ecx, 0x1f3365d2
shr ebx, 1
xor ecx, ebx
lea esp, [esp + ecx]
sub ebx, ebx
lea ebx, [ebx + edi]
mov ecx, 0xfffffffc
add esp, ecx
mov ecx, esp
xchg ecx, esi
mov dword [esi], ebx
xor ebx, ebx
add ebx, esp
mov edi, 0x2d
add ebx, edi
mov esi, dword [ebx - 0x2d]
push 0x750e99b
mov edi, 0xf15e2cca
pop ebx
shl ebx, 1
xor ebx, edi
sub esp, ebx
pop ebx
mov edx, 0x7264a4
add edx, 0xd0
push edx
cmp edx, 0x63
jne 0x40db36
add edx, 0xf3
mov edx, 0x6e696f59
sub edx, 9
push edx
mov edi, 0x656c6987
cmp edi, 0x51
jne 0x40db58
add edi, 0xb0
sub edi, 0x41
push edi
mov edx, 0x7465528b
add edx, 0xc6
cmp edx, 0x4e
jne 0x40db7a
add edx, 0xcc
push edx
mov edi, esp
mov edx, 0xfffffffc
add esp, edx
mov dword [esp], edi
pop ecx
mov edx, 0xffffffff
sub ecx, edx
mov edi, 0
and edx, 0xffffffff
mov edx, 0
xor edi, edx
xor edi, ecx
mov edx, 4
sub esp, edx
mov dword [esp], edi
mov edx, eax
xchg edx, ecx
xchg edi, ecx
add esp, 0xfffffffc
mov ecx, 0
xor ecx, esp
mov dword [ecx], edi
call ebx
mov edx, 0x6848a2a7
mov edi, edx
test ecx, ecx
shl edi, 5
add edi, 0xf6ebab10
sub esp, edi
mov ecx, ebx
push ecx
mov edi, dword [esp]
add esp, 4
mov ecx, 4
sub esp, ecx
mov dword [esp], edi
xor edx, edx
add edx, esi
mov ebx, edx
mov edi, ebx
push 0x59068053
mov ebx, 0x6f97facc
pop edx
shl edx, 4
xor edx, ebx
add esp, edx
mov dword [esp], edi
xor ebx, ebx
sub ebx, 0xd3824fa1
sub edx, 0
shl ebx, 3
lea ebx, [ebx - 0x63ed82f8]
xor ebx, eax
mov edi, ebx
dec edi
mov esi, dword [edi + 1]
xor edx, edx
add edx, esi
mov edi, edx
sub esp, 4
mov dword [esp], edi
mov ecx, dword [esp]
add esp, 4
xor eax, eax
or eax, 0x1240c88
add esi, 0
mov esi, 0x8812a110
xor eax, esi
xor ecx, eax
mov ebx, 0xbec465e
mov esi, 0x71261049
and edi, edi
shl esi, 3
xor esi, 0x89308248
add edx, esi
shl ebx, 3
add ebx, 0xdfc5ce4a
xor ecx, ebx
mov edx, 0x97a9e6f
xor ecx, edx
xor ecx, 0x2d19bd5
lea edi, [ecx]
mov ebx, 0xfffffffc
add esp, ebx
push esp
pop esi
mov dword [esi], edi
pop ebx
push ebx
pop ecx
xor edx, edx
add edx, ecx
xor ecx, ecx
add ecx, edx
sub esp, 4
mov edi, esp
mov dword [edi], ecx
lea edx, [ebx]
mov esi, 0x1bc2b5b8
sub ecx, 0
mov ecx, 0xe43d4a47
xor esi, ecx
xor edx, esi
and ebx, 0xc91fa96c
and ebx, 0xffffffff
and edx, 0x36e05693
or ebx, edx
or ebx, 0
jne 0x40dd07
mov ebx, 0x84
cmp ebx, 0x66
jne 0x40dcf0
add ebx, 0x61
sub ebx, 0x84
cmp ebx, 0x4b
jne 0x40dd05
add ebx, 0x3f
push ebx
pop edi
sub esp, 4
push esp
pop eax
xchg esi, eax
mov dword [esi], edi
xor edx, edx
add edx, 0x18c66a11
cmp ecx, 0
shl edx, 3
mov eax, 0xd05b6e2
xor edx, eax
xor edx, 0x76836a8d
xor edi, edx
and edi, 0xffff
xor edx, edx
mov ebx, 0x73292a7c
add edx, ebx
add eax, 0
shl edx, 3
mov esi, 0x1ce83934
mov ebx, 0x67782fb3
shr esi, 4
xor ebx, esi
add edx, ebx
or edx, edi
jne 0x40dd7d
mov ebx, 0xef
sub ebx, 0xef
push ebx
cmp ebx, 0xffffffbe
jne 0x40dd7d
add ebx, 0x23
pop ebx
push 0xd6e1374
mov esi, 0xd6e13744
pop ecx
shl ecx, 4
xor ecx, esi
sub esp, ecx
mov ecx, esp
lea edi, [ecx]
mov dword [edi], ebx
xor ecx, ecx
or ecx, 0x3d568c4c
add edx, 0
shl ecx, 2
mov esi, 0x48fef11d
add ecx, esi
xor ebx, ecx
add ebx, 0
jne 0x40ddd6
mov esi, 0x5c
sub esi, 0x5c
push esi
cmp esi, 0xffffffb0
jne 0x40ddd6
add esi, 0x88
pop edi
and edi, edi
jne 0x40e42c
pop edi
pop edi
mov ecx, 0x59f99f4f
add ecx, 0xb1
cmp ecx, 0xfffffff7
jne 0x40ddfc
add ecx, 0x65
push ecx
mov ebx, 0x6c6c633c
add ebx, 0xf2
cmp ebx, 0xffffffac
jne 0x40de18
add ebx, 0x3a
push ebx
cmp ebx, 0x3e
jne 0x40de28
add ebx, 0x69
mov ebx, 0x32336d41
sub ebx, 0xdc
cmp ebx, 0xffffffcf
jne 0x40de43
add ebx, 0x5b
push ebx
mov edx, 0x6e72660e
cmp edx, 0xffffffd6
jne 0x40de5a
add edx, 0x48
add edx, 0xffffff5d
cmp edx, 0xffffffdf
jne 0x40de6f
add edx, 0x9f
push edx
mov edx, esp
add esp, 0xfffffffc
mov esi, 0
xor esi, esp
mov dword [esi], edx
call edi
lea esp, [esp + 0x10]
push edi
pop ecx
xchg ecx, ebx
mov ecx, 0x4cf3428d
mov esi, 0xffffffff
test esi, edx
shl ecx, 7
add ecx, 0x865eb984
sub esp, ecx
mov dword [esp], ebx
mov ecx, dword [esp]
mov esi, ecx
mov edi, esi
mov edx, 0x364c193e
mov ebx, 0x1b260c9b
shr edx, 1
xor ebx, edx
lea esp, [esp + ebx]
pop ebx
mov edx, 0x5dd0ffab
cmp edx, 0xffffffe8
jne 0x40ded9
add edx, 0x45
add edx, 0xa2
push edx
mov edx, 0x454f6e8e
add edx, 0xc6
cmp edx, 0xfffffff8
jne 0x40defb
add edx, 0x9c
push edx
cmp edx, 0x11
jne 0x40df0b
add edx, 0x4b
mov edx, 0x73697080
cmp edx, 0xffffffc1
jne 0x40df20
add edx, 0x92
sub edx, 0x3f
cmp edx, 0x51
jne 0x40df35
add edx, 0x5c
push edx
mov esi, 0x656c69f7
cmp esi, 0x13
jne 0x40df4b
add esi, 0xb
add esi, 0xffffff4f
cmp esi, 0x3e
jne 0x40df60
add esi, 0x1e
push esi
mov edx, 0x7465529c
cmp edx, 0xfffffffb
jne 0x40df76
add edx, 0x49
add edx, 0xa1
push edx
cmp edx, 0xfffffffa
jne 0x40df8c
add edx, 0x6e
xor ecx, ecx
add ecx, 0x30f3669e
mov esi, 0
or esi, edx
shl ecx, 2
mov esi, ecx
xor esi, 0xffffffff
and ecx, 0x3c326587
and ecx, 0xffffffff
and esi, 0xc3cd9a78
or ecx, esi
xor ecx, esp
push 0x1a7f6acb
mov esi, 0x9fdab2c1
pop edx
shl edx, 6
xor edx, esi
add ecx, edx
add esp, 0xfffffffc
mov edx, esp
mov dword [edx], ecx
mov edx, 0x14f10824
add esi, 0
shl edx, 2
xor edx, 0x53c42094
sub esp, edx
xor ecx, ecx
add ecx, esp
mov dword [ecx], eax
call ebx
mov ecx, 0x24f42080
mov esi, 0
or esi, edx
mov edx, 0xdb0bdf6c
xor ecx, edx
sub esp, ecx
sub ecx, ecx
lea ecx, [ecx + ebx]
mov esi, 0x1f6bd35f
mov edx, 0xfb5e9e
shr esi, 5
xor edx, esi
sub esp, edx
mov dword [esp], ecx
mov esi, 0x36b55181
mov edx, 0xffffffff
and edx, ebx
shl esi, 3
xor esi, 0x4a5573f4
add esp, esi
xor ebx, ebx
add ebx, esp
push ebx
pop ecx
mov dword [ecx], edi
xor edi, edi
lea edi, [edi + eax]
xor ebx, ebx
add ebx, edi
push ebx
pop esi
pop edi
mov ebx, 0xcbed3550
cmp ebx, 0xffffffb8
jne 0x40e063
add ebx, 0x2a
sub ebx, 0x50
cmp ebx, 0x5d
jne 0x40e078
add ebx, 0x29
push ebx
mov ecx, 0x6c6c64cb
add ecx, 0xffffff63
push ecx
mov ebx, 0x32336c8f
cmp ebx, 0x23
jne 0x40e09d
add ebx, 0
sub ebx, 0x2a
push ebx
mov ebx, 0x6e7265f4
cmp ebx, 0x10
jne 0x40e0b8
add ebx, 0xad
sub ebx, 0x89
cmp ebx, 1
jne 0x40e0cd
add ebx, 0x70
push ebx
mov ebx, esp
mov edx, 0xfffffffc
add esp, edx
mov ecx, 0
xor ecx, esp
mov dword [ecx], ebx
call edi
add esp, 0x10
xor ebx, ebx
lea ebx, [ebx + edi]
mov edx, ebx
xchg ecx, edx
mov edx, ecx
push edx
mov ecx, esp
mov edi, ecx
mov edx, 1
sub edi, edx
mov ebx, dword [edi + 1]
mov ecx, 0xfffffffc
sub esp, ecx
push esp
pop ecx
sub ecx, 0x36
mov edi, dword [ecx + 0x36]
mov ecx, 0x33d8c142
sub edx, 0
shl ecx, 6
xor ecx, 0xf6305084
lea esp, [esp + ecx]
mov ecx, 0x6449ca
sub ecx, 0x66
cmp ecx, 0xffffff91
jne 0x40e147
add ecx, 0x96
push ecx
mov ecx, 0x61657269
sub ecx, 1
push ecx
cmp ecx, 0xffffffc5
jne 0x40e163
add ecx, 0x8f
mov ecx, 0x54746e82
cmp ecx, 0xfffffffe
jne 0x40e177
add ecx, 0xf3
add ecx, 0xffffffe3
cmp ecx, 0x21
jne 0x40e18c
add ecx, 0x60
push ecx
cmp ecx, 0xfffffff6
jne 0x40e19d
add ecx, 0x50
mov ecx, 0x72727475
cmp ecx, 0xb
jne 0x40e1b1
add ecx, 0x67
add ecx, 0xce
push ecx
cmp ecx, 0xffffff8c
jne 0x40e1c8
add ecx, 0x91
mov ecx, 0x7465465f
cmp ecx, 0xffffff8e
jne 0x40e1dc
add ecx, 0x79
add ecx, 0xdf
cmp ecx, 0x26
jne 0x40e1f1
add ecx, 0xf5
push ecx
cmp ecx, 0x4d
jne 0x40e201
add ecx, 0xaa
push 0x3103ac7b
mov ecx, 0xc40eb1ec
pop edx
shl edx, 2
xor edx, ecx
xor edx, esp
mov ecx, 0xffffffff
sub edx, ecx
mov ecx, edx
push ecx
mov ecx, eax
push ecx
mov edx, dword [esp]
add esp, 4
mov ecx, 0xfffffffc
add esp, ecx
mov dword [esp], edx
call edi
mov ecx, 0x7a7fdb00
add edx, 0
mov edx, 0x858024ec
xor ecx, edx
sub esp, ecx
sub ecx, ecx
lea ecx, [ecx + edi]
mov edx, 4
sub esp, edx
mov dword [esp], ecx
xor ecx, ecx
add ecx, ebx
xchg edi, ecx
mov ecx, edi
xchg ecx, edx
mov ecx, 0xfffffffc
add esp, ecx
mov dword [esp], edx
lea esp, [esp - 4]
mov edi, 0x5f047196
mov ebx, 0x63436f72
add edx, 0
shl ebx, 5
xor ebx, 0x686dee40
or ecx, ebx
shl edi, 6
add edi, 0x3ee39a80
xor edi, esp
mov dword [edi], esi
lea ebx, [eax]
mov edi, 0xfffffffc
add esp, edi
mov dword [esp], ebx
mov eax, 0x1b3a023
mov edi, eax
lea edx, [edi]
mov edi, 0x5fd4760b
mov ebx, 0x5d4c2da5
sub ecx, 0
shl ebx, 4
add ebx, 0x2b3d25b0
sub ebx, eax
shl edi, 1
mov ebx, 0x405713e9
add edi, ebx
and esi, edi
shl edx, 4
mov eax, 0x5cbba21d
sub ebx, 0
shl eax, 1
add eax, 0x2b5eb3ce
add edx, eax
mov eax, 0x1e35d7e8
mov edi, 0x78d75b
shr eax, 6
xor edi, eax
sub esp, edi
sub esi, esi
add esi, esp
mov dword [esi], edx
pop edi
mov ebx, esp
mov eax, ebx
mov ebx, 0x42
add eax, ebx
sub eax, 1
mov edx, dword [eax - 0x41]
mov esi, edx
mov ecx, edi
mov edx, ecx
add esp, 0xfffffffc
mov dword [esp], edx
mov ebx, esp
add ebx, 0xffffffb1
dec ebx
mov eax, dword [ebx + 0x50]
mov ebx, 0xfffffffc
sub esp, ebx
and eax, 1
or eax, 0
je 0x40e372
mov esi, dword [esp + 4]
xor esi, esi
add esi, 0x3b74d221
cmp ecx, 0
shl esi, 1
mov ebx, 0x76e9a442
sub esi, ebx
xor esi, dword [esp + 4]
add esp, 0xfffffffc
sub eax, eax
add eax, esp
mov dword [eax], edi
call esi
jmp 0x40e388
mov ecx, 0
xor ecx, edi
xchg ecx, edx
mov ecx, 4
sub esp, ecx
mov dword [esp], edx
call esi
pop ebx
xor ecx, ecx
or ecx, 0xb999cf8
sub esi, esi
mov edi, 0
sub esi, edi
or eax, 0
mov eax, 0
xor esi, eax
add edx, esi
shl ecx, 2
mov esi, 0x15821760
xor ecx, esi
xor ecx, 0x3be46481
sub ebx, ecx
and ebx, 0xbaffffff
mov edi, ebx
push edi
pop edx
mov edi, 0xf8a8a19
mov esi, 0xff83abac
shr edi, 5
xor esi, edi
add esp, esi
mov dword [esp], edx
mov eax, 0x2918465b
mov ecx, eax
mov eax, ecx
mov edx, eax
sub edi, edi
lea edi, [edi + 0xa46119]
shr edx, 6
xor edi, edx
cmp edi, ebx
jne 0x40e302
xor esi, esi
add esi, 0x5c49f3bd
xor ebx, ebx
or ebx, 0xff476c13
shr esi, 7
xor ebx, esi
sub esp, ebx
xor esi, esi
add esi, 0
mov ebx, esi
xchg eax, ebx
and edx, edx
mov edx, 0
xor eax, edx
jmp 0x40e493
xor eax, eax
mov ebx, 0x630b4ddf
add eax, ebx
mov ebx, 0x91e0337
add ebx, 0xffffff20
cmp ebx, 0x2c
jne 0x40e44f
add ebx, 0x1c
push ebx
cmp ebx, 0x2a
jne 0x40e45f
add ebx, 0xf0
mov edi, 0x8f012b80
pop edx
shl edx, 7
xor edx, edi
cmp ecx, edx
shl eax, 3
mov ebx, 0x6e4e86ea
add edx, 0
shl ebx, 4
add ebx, 0x33252b52
xor eax, ebx
mov edx, 0x2d39d323
xor eax, edx
xor eax, 0x2d6e2428
nop
add esp, 8
mov dword [ebp - 4], eax
popaw
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x40e4b7
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
pop ecx
pop ebp
ret