Function at 0x40c9b0
Capabilities:
Authenticate hmac

Disassembly:
add byte [eax + eax + 0x74], dh
add byte [eax], dh
jae 0x40c9b9
cmp al, byte [eax]
das
add byte [edi], ch
add byte [eax], dh
popal
add byte [ebx], dh
je 0x40c9c7
add byte gs:[edx], ah
imul eax, dword [eax], 0x2e006e
arpl word [eax], ax
outsd dx, dword [esi]
add byte [ebp], ch
das
add byte [edx], dh
popal
add byte [edi], dh
das
add byte [eax + eax + 0x76], ah
add byte [ebp], al
jns 0x40c9e9
imul eax, dword [eax], 0x57
add byte [ecx], ch
insd dword es:[edi], dx
add byte [ecx], al
add byte [0x74654701], cl
inc esi
outsd dx, dword [esi]
insb byte es:[edi], dx
jb 0x40ca4f
popal
je 0x40ca6a
add dword [eax], eax
push cs
add dword [ebx + 0x72], eax
popal
je 0x40ca71
dec ecx
outsb dx, byte [esi]
jae 0x40ca84
popal
outsb dx, byte [esi]
arpl word [ebp + 1], sp
add byte [ecx + 3], al
pop esp
add byte [edx], cl
outsd dx, dword [esi]
add byte [eax], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x6f], al
add byte [ebp], ah
pop esp
add byte [ecx], al
jo 0x40ca2e
jo 0x40ca30
insb byte es:[edi], dx
add byte [ecx], ch
arpl word [eax], ax
popal
add byte [eax + eax + 0x69], dh
add byte [edi], ch
outsb dx, byte [esi]
add byte [eax], ah
add byte [eax + eax + 0x61], al
add byte [eax + eax + 0x61], dh
add byte [eax + eax - 0x70], bl
add al, byte [0x65002e]
add byte cs:[ebp], ah
js 0x40ca55
add byte gs:[eax + 0x13000100], dl
add dword [ebp + 0x62], eax
jne 0x40cac9
popal
bound ebp, qword [ebp + 0x41]
je 0x40cade
jb 0x40cad5
bound esi, qword [ebp + 0x74]
add dword gs:[eax], eax
cmp dword [ecx], eax
inc ebx
outsd dx, dword [esi]
add byte [ecx], bh
add dword [ebx + 0x6f], eax
imul ebp, dword fs:[esi + 0x67], 0x20797547
inc edx
popal
arpl word [ebx + 0x75], bp
jo 0x40cab7
xor bl, byte [edx + esi*2 + 0x65]
pop esp
jb 0x40caed
jo 0x40caf9
jae 0x40cae8
inc esp
push edx
dec edi
push eax
push eax
inc ebp
push edx
pop esp
inc esp
push edx
dec edi
push eax
push eax
inc ebp
push edx
pop esp
outsd dx, dword [esi]
bound ebp, qword [edx + 0x5c]
push edx
insb byte es:[edi], dx
popal
jae 0x40cb0c
pop esp
jo 0x40cb10
bound eax, qword [eax]
add byte [eax + 0x44], bh
add dword [eax], eax
or al, byte [eax]
or al, byte [eax]
add eax, 0x48232100
push ebx
push esp
push edx
cmp al, byte [edx + 0x72]
outsd dx, dword [esi]
ja 0x40cb38
jb 0x40cb15
outsd dx, dword [esi]
imul esp, dword fs:[esi + 0x69], 0x573a7265
imul ebp, dword [esi + 0x33], 0x61592f32
das
pop ecx
popal
push 0x65536f6f
popal
jb 0x40cb43
push 0x4321442e
bound edi, qword [ecx]
add eax, 0x59011600
add byte [ebx], dl
add byte gs:[ecx], ah
jb 0x40caf6
arpl word [eax], ax
push 0x74005500
add byte [ecx], ch
insb byte es:[edi], dx
add byte [0x53012400], al
add byte [ebp], dl
je 0x40cafe
imul eax, dword [eax], 0x5006c
and al, 1
push ebx
add byte [edi], cl
inc esi
add byte [eax + eax + 0x57], dl
add byte [ecx], al
push edx
add byte [ebp], al
pop esp
add byte [ecx], bl
popal
add byte [eax], ch
outsd dx, dword [esi]
add byte [edi], ch
pop esp
add byte [ebx], dl
push ebx
add byte [eax], dl
add dword [eax], eax
dec edi
add edx, dword [ecx + 0x33]
call dword [eax + 0x47]
push esp
add byte [edi], dl
inc ecx
add byte [edx], dl
inc ebp
add byte [eax + eax + 0x59], bl
add byte [ecx], ah
push 0x6f006f00
add byte [eax + eax + 0x53], bl
add byte [ebx], dl
push eax
add byte [ecx], al
add byte [edi + 3], cl
push ecx
xor edi, edi
push eax
inc edi
call dword [0x85040190]
sal byte [ebx + eax*2 - 0x46], 0x90
add dword [ecx*4 + 0x4019085], eax
test eax, eax
je 0x40cb7f
mov edx, 0x8d040190
test dword [eax - 0x7499fbff], edx
or byte [esi + 0x3b], ah
or dh, byte [ebp + 0x1e]
add dword [esi], eax
mov ecx, dword [eax]
mov cx, word [eax]
cmp cx, word [edx]
jne 0x40cb6b
test cx, cx
je 0x40cb67
mov cx, word [eax + 2]
cmp cx, word [edx + 2]
jne 0x40cb6b
add eax, 4
add edx, 4
test cx, cx
jne 0x40cb45
xor eax, eax
jmp 0x40cb70
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40cb7d
test esi, esi
je 0x40cb7b
mov byte [esi], 1
nop
add byte [ecx], al
add byte [eax], ch
add dword [ecx], ebx
popal
add byte [eax], ch
outsd dx, dword [esi]
add byte [edi], ch
and byte [eax], al
push ebx
add byte [ebp], ah
popal
add byte [edx], dh
add dword [eax], eax
sub byte [ecx], al
pop ecx
add byte [ecx], ah
push 0x6f006f00
add byte [eax], ah
add byte [ebx], dl
add byte gs:[ecx], ah
jb 0x40cb95
arpl word [eax], ax
push 0x53002000
add byte [ebp], ah
jb 0x40cba1
jbe 0x40cba3
imul eax, dword [eax], 0x650063
add dword [eax], eax
dec eax
add dword [ebx], esp
outsd dx, dword [esi]
add byte [ebp], dh
insb byte es:[edi], dx
add byte [eax + eax + 0x20], ah
add byte [esi], ch
outsd dx, dword [esi]
add byte [eax + eax + 0x20], dh
add byte [esi], ah
imul eax, dword [eax], 0x64006e
and byte [eax], al
dec ecx
add byte [ebp], al
and byte [eax], al
jae 0x40cbd3
add byte [ecx], ch
outsb dx, byte [esi]
add byte [eax + eax + 0x20], ah
add byte [ecx], cl
inc ebp
add byte [eax], ah
add byte [ebx], dh
add byte gs:[ecx], ah
jb 0x40cbd9
arpl word [eax], ax
push 0x73002000
add byte [ebp], ah
je 0x40cbe5
and byte [eax], al
add byte fs:[ecx], ch
popal
add byte [eax + eax + 0x6f], ch
add byte [edi], ah
and dword [eax], eax
add byte [eax], al
js 0x40cc3d
add byte [ecx], ah
insb byte es:[edi], dx
add byte [edi], ch
add byte [bx + di], ah
add byte [eax], al
add byte [eax + 0x44], bh
add dword [eax], eax
or al, byte [eax]
or al, byte [eax]
pop es
add byte [ecx], ah
and eax, dword [ecx + 0x4c]
inc esi
cmp dl, byte [eax + 0x57]
push ebx
cmp cl, byte [ebp + 0x53]
dec ecx
dec esp
das
inc ecx
outsb dx, byte gs:[si]
je 0x40cc6a
jae 0x40cc85
popal
inc ecx
inc edx
push ebx
and dword [ebp + 0x54], ecx
inc edx
add byte [eax + eax], al
inc eax
add ecx, dword [edx]
or al, byte [esi]
add bh, dh
nop
add dword [esi + eax], eax
jae 0x40cbc2
add dword [ebx], eax
or ch, byte [edi - 0x70]
add dword [ebx], eax
or al, byte [esi]
add bh, byte [ebx - 0x70]
nop
add dword [ebx], eax
add al, 0x73
nop
add dword [ebx], eax
or al, byte [edx]
jnp 0x40cbd9
add dword [ebx], eax
add al, 0x6f
nop
add dword [ebx], eax
or bl, dh
or dl, byte [eax + 0x2003c0a]
jb 0x40cbea
add dword [ebx], eax
jo 0x40ccdb
nop
add dword [ebx], eax
add al, 0x73
in eax, 1
nop
add byte [ecx], al
add byte [ebx], cl
add dword [edi + 0x65], eax
je 0x40ccc3
insd dword es:[edi], dx
jo 0x40ccc3
popal
je 0x40ccde
add dword [eax], eax
or eax, 0x72684301
outsd dx, dword [esi]
insd dword es:[edi], dx
inc ebx
outsd dx, dword [esi]
outsd dx, dword [esi]
imul ebp, dword [ecx + 0x65], 0x73
add dword [eax], eax
jae 0x40cc89
add byte [eax], dl
add dword [edi + 0x65], esp
je 0x40ccee
adc byte [ecx], al
je 0x40ccee
inc edx
jb 0x40cd01
ja 0x40cd07
jb 0x40ccfd
imul ebp, dword [ebp + 0x73], 0x13a0001
push ebx
add byte [ebp], al
dec esp
add byte [ebp], al
inc ebx
add byte [eax + eax + 0x20], dl
add byte [edx], ch
add byte [eax], ah
add byte [esi], al
push edx
add byte [edi], cl
dec ebp
add byte [eax], ah
add byte [edi], dl
imul eax, dword [eax], 0x33006e
xor al, byte [eax]
pop edi
add byte [eax + eax + 0x69], al
add byte [ebx], dh
imul eax, dword [eax], 0x44
add byte [edx], dh
imul eax, dword [eax], 0x650076
add dword [eax], eax
sbb al, 1
inc edx
add byte [edx], dh
outsd dx, dword [esi]
add byte [edi], dh
jae 0x40cce7
add byte gs:[edx], dh
dec eax
add byte [ecx], ch
jae 0x40ccf1
add byte [ebx], dh
je 0x40ccf3
outsd dx, dword [esi]
add byte [edx], dh
jns 0x40ccf9
add dword [eax], eax
inc eax
add dword [eax + eax + 0x41], ebx
add byte [eax], dh
pop esp
add byte [ecx], al
jo 0x40cd03
jo 0x40cd05
inc esp
add byte [ecx], ah
je 0x40cd0b
popal
add byte [eax + eax + 0x61], dh
popal
add byte [eax + eax + 0x52], bl
add byte [edi], ch
popal
add byte [ebp], ch
imul eax, dword [eax], 0x67006e
pop esp
add byte [ebp], cl
outsd dx, dword [esi]
add byte [edx], bh
imul eax, dword [eax], 0x6c006c
popal
add byte [eax + eax + 0x46], bl
add byte [ecx], ch
jb 0x40cd35
add byte gs:[esi], ah
outsd dx, dword [esi]
add byte [eax], bh
add byte [eax], al
js 0x40cd85
add dword [eax], eax
or al, byte [eax]
or al, byte [eax]
or dword [eax], eax
and dword [ebx], esp
inc ecx
dec esp
inc esi
cmp cl, byte [eax + 0x61]
arpl word [ebx + 0x54], bp
outsd dx, dword [esi]
outsd dx, dword [esi]
insb byte es:[edi], dx
cmp dl, byte [edi + 0x69]
outsb dx, byte [esi]
xor esi, dword [edx]
das
inc edi
inc esp
popal
pop edi
push ebx
push 0x636c6c65
outsd dx, dword [esi]
pop edi
push 0x2e727473
inc ecx
and dword [eax + ebp*2 + 0x61], esp
add byte [ecx], al
add byte [ebx], bh
add dword [ebx + 0x6f], edx
je 0x40cdf8
popal
jb 0x40cde9
pop esp
dec ebp
imul esp, dword [ebx + 0x72], 0x666f736f
je 0x40cdeb
push edi
imul ebp, dword [esi + 0x64], 0x5c73776f
inc ebx
jne 0x40ce0c
jb 0x40ce01
outsb dx, byte [esi]
je 0x40cdf5
jb 0x40ce15
imul ebp, dword [edi + 0x6e], 0x746e495c
jb 0x40ce1a
je 0x40cdcf
push ebx
je 0x40ce27
imul ebp, dword [esi + 0x67], 0xa000373
add dword [ebx + 0x67], esi
imul esp, dword [ebp + 0x79], 0x2e
popal
je 0x40ce26
add eax, dword [eax]
or al, byte [ecx]
jae 0x40ce32
jae 0x40ce33
je 0x40ce44
je 0x40ce3a
imul ebp, dword [esi + 0x67], 0x1080005
jae 0x40ce3c
outsb dx, byte [esi]
add eax, 0x73010800
arpl word [ebp + ebp*2 + 0x2e], bp
insb byte es:[edi], dx
insb byte es:[edi], dx
insd dword es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
add eax, dword [eax]
cmp dword [ecx], eax
and eax, 0x556c6c41
jae 0x40ce4f
jb 0x40ce5f
jb 0x40ce5f
jae 0x40ce3d
push eax
jb 0x40ce5e
imul bp, word [ebp + 0x41], 0x7070
inc esp
jo 0x40ce3b
popal
je 0x40ce5b
and eax, 0x63694d5c
jb 0x40ce70
jae 0x40ce72
je 0x40ce62
inc ebx
jb 0x40ce82
jo 0x40ce7f
outsd dx, dword [esi]
pop esp
push edx
push ebx
inc ecx
pop esp
dec ebp
popal
arpl word [eax + 0x69], bp
outsb dx, byte [esi]
dec ebx
jns 0x40ce8f
imul ebp, dword [esi + 0x65], 0x7379654b
jns 0x40ce8f
add dword [eax], eax
and dword [ecx], eax
and eax, 0x74737953
insd dword es:[edi], dx
insd dword es:[edi], dx
push edx
outsd dx, dword [esi]
outsd dx, dword [esi]
je 0x40ce51
pop esp
push ebx
jns 0x40cea3
je 0x40ce97
insd dword es:[edi], dx
xor esi, dword [edx]
pop esp
jae 0x40ceae
arpl word [eax + 0x6f], bp
outsd dx, dword [esi]
jae 0x40ceb1
je 0x40ce6c
js 0x40cea6
js 0x40cea6
add dword [eax], eax
and dword [ecx], eax
and eax, 0x74737953
add dword [0x74737953], esp
insd dword es:[edi], dx
push edx
outsd dx, dword [esi]
outsd dx, dword [esi]
je 0x40ce76
pop esp
push ebx
jns 0x40cec8
je 0x40cebc
insd dword es:[edi], dx
xor esi, dword [edx]
pop esp
insb byte es:[edi], dx
insb byte es:[edi], dx
push 0x2e74736f
js 0x40cecb
outsd dx, dword [esi]
jae 0x40ced6
js 0x40cecb
or al, byte [eax]
or eax, 0x2e323401
xor dword [ecx], esi
xor dword cs:[ecx], esi
xor ch, byte [esi]
xor dh, byte [0x3830322e]
xor dh, byte cs:[0x3830322e]
xor eax, 0x3830322e
cmp byte [edx], cl
add byte [edx], cl
add dword [edx + esi], esi
or al, byte [eax]
or al, byte [ecx]
xor al, 0x32
xor byte cs:[esi], ch
xor bh, byte [ecx]
xor bh, byte cs:[ecx]
xor esi, dword cs:[edx]
add byte [eax], al
js 0x40cecd
add dword [eax], eax
or al, byte [eax]
or al, byte [eax]
or al, byte [eax]
and dword [ebx], esp
inc ecx
dec esp
inc esi
cmp dl, byte [edx + esi*2 + 0x6f]
push esp
jb 0x40cf09
push 0x61
outsb dx, byte [esi]
cmp cl, byte [ebp + 0x53]
dec ecx
dec esp
das
inc ecx
outsb dx, byte gs:[si]
outsb dx, byte [esi]
je 0x40cefd
jae 0x40cf18
popal
inc ecx
inc ecx
dec edx
and dword [ebp + 0x53], ecx
dec ebp
push ebx
push edx
add byte [ecx], al
add byte [eax + eax*4], ah
add dword [esi + 0x33393961], esi
xor eax, 0x61652d63
popal
cmp dword [ecx], edi
xor esi, dword [0x61652d63]
cmp byte [0x3732342d], dh
xor al, 0x32
aaa
xor ebp, dword [0x33386262]
sub eax, 0x34623637
bound esp, qword [edx + 0x38]
xor ebp, dword [0x34623637]
popal
bound esp, qword [ecx + 0x39]
xor eax, 0x1663131
add byte [ebx], dl
add byte [ecx], 0x4d
je 0x40cf2d
outsd dx, dword [esi]
js 0x40cf3c
outsd dx, dword [esi]
arpl word [ebx + 0x65], bp
je 0x40cf38
dec edi
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebp + 0x6e], 0x1b000174
add byte [ecx], 0x53
je 0x40cf5f
popal
je 0x40cf69
arpl word [ecx + 0x72], ax
jb 0x40cf66
jns 0x40cf50
outsb dx, byte [esi]
imul esi, dword [esp + edx*2 + 0x79], 0x69536570
jp 0x40cf77
je 0x40cf5f
jns 0x40cf7d
push ebx
imul edi, dword [edx + 0x65], 0x6578652e
js 0x40cf7b
add dword [eax], eax
sbb eax, dword [eax + 0x61745301]
je 0x40cf89
arpl word [ecx + 0x72], ax
jb 0x40cf86
jns 0x40cf70
outsb dx, byte [esi]
imul esi, dword [esp + edx*2 + 0x79], 0x69536570
jp 0x40cf97
push ebx
imul edi, dword [edx + 0x65], 0x6264702e
add dword [eax], eax
jo 0x40cf99
bound eax, qword [ecx]
add byte [eax], ah
add byte [ecx], 0x4d
and byte [eax + 0x47744d01], al
je 0x40cf85
outsd dx, dword [esi]
js 0x40cf95
jb 0x40cfa4
jb 0x40cf75
push eax
jb 0x40cfb9
jo 0x40cfb1
jb 0x40cfc2
imul esp, dword [ebp + 0x73], 0x7365522e
outsd dx, dword [esi]
jae 0x40cf80
push edx
jae 0x40cfc5
jne 0x40cfca
arpl word [ebp + 0x73], sp
add dword [eax], eax
sbb eax, dword [eax + 0x47744d01]
add dword [ebp + 0x74], ecx
inc edi
outsd dx, dword [esi]
js 0x40cfba
jb 0x40cfc9
jb 0x40cf9a
jb 0x40cf9a
inc esi
outsd dx, dword [esi]
jb 0x40cfdd
xor dword [esi], ebp
jb 0x40cfd9
jae 0x40cfe5
outsd dx, dword [esi]
jne 0x40cfea
jb 0x40cfdc
arpl word [ebp + 0x73], sp
jae 0x40cf7d
add dword [eax], eax
add byte [esi], al
push es
add byte [ecx], 0x42
inc edx
imul esi, dword [ebp + ebp*2 + 0x61], 0x12000170
jo 0x40cf88
add dword [eax], eax
add byte [edx], dl
adc al, byte [eax + 0x65376c01]
outsd dx, dword [esi]
add byte [ecx], 0x6c
aaa
outsd dx, dword gs:[esi]
ja 0x40cfff
jb 0x40cfc9
ja 0x40cfed
xor al, 0x41
outsb dx, byte [esi]
jns 0x40cfd1
jns 0x40cfd1
jno 0x40cfcf
jno 0x40cfcf
add dword [eax], eax
adc eax, dword [eax + 0x75464601]
inc ecx
jne 0x40cfe7
je 0x40cff0
dec edi
dec esp
cmp byte [ebp + 0x56], dl
arpl word gs:[ebx + 0x39], bp
outsb dx, byte [esi]
xor dword [ebx], esi
jns 0x40cfb7
add byte [ebx], dl
add byte [ecx], 0x50
adc eax, dword [eax + 0x42685001]
add dword [eax + 0x68], edx
inc edx
push eax
push 0x4e6a4842
dec eax
push 0x4e
dec esi
dec edi
inc ecx
inc ebx
inc esp
inc esi
outsb dx, byte [esi]
jns 0x40d00b
imul esp, dword [edx + 0x76], 0x43
bound esi, qword [esi + 0x43]
jbe 0x40d00f
xor eax, 0x44780000
js 0x40d015
add dword [eax], eax
str word [eax + eax]
pop es
add byte [ecx], ah
and eax, dword [ecx + 0x4c]
and dword [ebx], esp
inc ecx
dec esp
inc esi
cmp dl, byte [edx + esi*2 + 0x6f]
push 0x61
outsb dx, byte [esi]
cmp cl, byte [ebp + 0x53]
push ebx
dec ecx
dec esp
das
push ebx
je 0x40d053
popal
popal
insb byte es:[edi], dx
jb 0x40d021
inc ecx
and dword [ebp + 0x54], ecx
inc edx
add byte [edx], cl
add byte [edi], dh
add al, byte [edx]
pop ds
pop edi
pop ds
das
outsd dx, dword [esi]
nop
add dword [ebx], eax
or bl, byte [edi]
sub eax, 0x906f2b1f
outsd dx, dword [esi]
nop
add dword [ebx], eax
or dl, byte [eax]
add byte [edx], al
outsd dx, dword [esi]
nop
add dword [ebx], eax
or bl, byte [edx]
pop ebp
outsd dx, dword [esi]
nop
add dword [ebx], eax
or bl, byte [edx]
pop ebp
or al, byte [esi]
sbb byte [esi], ch
push es
push es
sbb dword [esi], ebp
adc dword [ebx], ebp
sbb al, 2
jb 0x40cfbf
add dword [ebx], eax
jo 0x40cfc3
add byte [0x1805400], al
push edx
insd dword es:[edi], dx
inc esi
jo 0x40d0a0
inc edi
push esi
imul ecx, dword [ecx + 0x48], 0x52
jbe 0x40d08f
inc edi
dec edx
jo 0x40d0ac
insd dword es:[edi], dx
push ecx
inc edi
cmp byte [edi + 0x63], ah
xor dl, byte [esi + 0x79]
insd dword es:[edi], dx
push esi
jns 0x40d0ba
insd dword es:[edi], dx
push esi
jns 0x40d0a6
inc ebx
inc edx
push 0x61
inc edi
push esi
push 0x61
jns 0x40d0a6
xor eax, 0x79563362
dec ecx
inc ebp
inc esi
dec edx
push edx
inc ebx
inc ecx
insd dword es:[edi], dx
dec ecx
inc esi
dec esi
insb byte es:[edi], dx
pop ecx
xor ecx, dword [edx + 0x6c]
inc ebx
inc edx
jo 0x40d0e0
imul eax, dword [edx + 0x35], 0x79563362
dec ecx
inc edi
dec esi
jbe 0x40d0e4
inc edi
push ebp
push 0x80140003
adc al, 0x80
add dword [esi + 0x72], eax
outsd dx, dword [esi]
insd dword es:[edi], dx
and byte [edi + 0x69], dl
outsb dx, byte [esi]
xor esi, dword [edx]
pop edi
inc edx
popal
jae 0x40d106
inc edx
inc edx
outsd dx, dword [esi]
popal
jb 0x40d10a
add eax, dword [eax]
or eax, 0x6e690180
outsb dx, byte [esi]
je 0x40d114
jb 0x40d11b
je 0x40d12d
insb byte es:[edi], dx
outsd dx, dword [esi]
add al, byte [bx + si]
push cs
add byte [ecx], 0x41
push eax
dec ecx
inc ebp
dec esi
inc ebx
push edx
pop ecx
push eax
push esp
push ebx
inc ecx
dec esp
push esp
add al, byte [eax]
sub al, 0x80
add dword [ebx + 0x45], edx
dec esp
inc ebp
inc ebx
push esp
and byte [ebp + 0x55], dl
dec ecx
inc esp
and byte [esi + 0x52], al
dec edi
dec ebp
and byte [edi + 0x69], dl
outsb dx, byte [esi]
xor esi, dword [edx]
pop edi
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jo 0x40d161
je 0x40d153
jb 0x40d143
jns 0x40d165
je 0x40d159
insd dword es:[edi], dx
push eax
jb 0x40d167
jne 0x40d15e
je 0x40d0ff
add byte [eax + eax*4], dl
add dword [esi + 0x52], eax
add byte [ecx], 0x46
push edx
dec edi
dec ebp
and byte [edi + 0x69], dl
outsb dx, byte [esi]
xor esi, dword [edx]
pop edi
inc esp
push edi
imul ebp, dword [esi + 0x33], 0x69445f32
jae 0x40d17b
xor bl, byte [edi + 0x44]
imul esi, dword [ebx + 0x6b], 0x76697244
inc esp
jb 0x40d17c
jbe 0x40d17a
add byte gs:[eax], al
add byte [eax], al
js 0x40d15d
add dword [eax], eax
sbb al, 0
sbb al, 0
or eax, dword [eax]
and dword [ebx], esp
inc ecx
dec esp
inc esi
cmp dl, byte [edx + esi*2 + 0x6f]
push 0x61
outsb dx, byte [esi]
cmp cl, byte [ebp + 0x53]
dec ecx
dec esp
das
dec esi
je 0x40d1ae
imul esi, dword [edx + 0x65], 0x2146522e
dec ebp
push esp
inc edx
add byte [edx], cl
add byte [0x39240181], ah
xor dword [esp + esi], esi
xor eax, 0x302d6336
cmp dword [edx], esi
popal
sub eax, 0x62346234
xor ah, byte [ecx + 0x2d]
xor al, 0x62
xor al, 0x62
bound ebp, qword [0x31366639]
sub eax, 0x31366639
xor dword ss:[0x37373030], ebp
xor dword [0x37373030], ebp
sub eax, 0x37373030
xor byte [edi], dh
aaa
xor dword [0x37393638], esi
xor eax, 0x37393638
cmp dword ss:[edi], esi
popal
xor al, 0xa
add byte [0x31240181], ah
bound edi, qword [ecx]
cmp byte [esi], dh
xor esi, dword [edx]
sub ax, 0x6561
sub ax, 0x3134
sub eax, 0x66366561
sub eax, 0x33323134
popal
sub ax, 0x3134
xor dh, byte [ebx]
sub eax, 0x62303239
sub eax, 0x62306337
aaa
xor esi, dword [ebx]
popal
xor esi, dword [0x810c0005]
add dword [edx + 0x7a], ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
jbe 0x40d20d
jp 0x40d214
insb byte es:[edi], dx
insb byte es:[edi], dx
add eax, 0x1810a00
inc esi
insd dword es:[edi], dx
push 0x62
jae 0x40d216
insb byte es:[edi], dx
insb byte es:[edi], dx
add eax, 0x1810e00
inc edi
je 0x40d208
outsb dx, byte [esi]
imul esi, dword [ecx + ebp*2 + 0x61], 0x657a696c
jb 0x40d1cf
add byte [edi], cl
add dword [ecx], 0x5f746567
je 0x40d231
inc ebx
jne 0x40d241
je 0x40d24c
jb 0x40d23e
dec ecx
outsb dx, byte [esi]
outsw dx, word [esi]
add eax, 0x1811100
dec eax
jb 0x40d25c
jb 0x40d253
jns 0x40d24f
outsd dx, dword [esi]
js 0x40d256
bound ebp, qword [edx + 0x67]
insb byte es:[edi], dx
insb byte es:[edi], dx
insb byte es:[edi], dx
add eax, 0x1810f00
inc ecx
jp 0x40d261
jp 0x40d266
js 0x40d273
jns 0x40d271
insb byte es:[edi], dx
insb byte es:[edi], dx
add dword [eax], eax
pop ss
add byte [edi], dl
add dword [ecx], 0x75626544
jb 0x40d25d
bound esi, qword gs:[ebp + 0x67]
jb 0x40d25d
dec eax
imul esp, dword [esp + 0x65], 0x7474416e
outsb dx, byte gs:[esi]
inc ecx
je 0x40d291
jb 0x40d288
bound esi, qword [ebp + 0x74]
add dword gs:[eax], eax
sbb al, byte [ecx + 0x62654401]
jne 0x40d294
jb 0x40d273
jb 0x40d2a2
ja 0x40d2a8
popal
bound ebp, qword [ebp + 0x41]
je 0x40d2b0
jb 0x40d2a7
bound esi, qword [ebp + 0x74]
add dword gs:[eax], eax
push ss
add dword [ecx], 0x75626544
jb 0x40d292
jb 0x40d292
inc edx
jb 0x40d2c1
ja 0x40d2c7
jae 0x40d2b6
popal
bound ebp, qword [ebp + 0x53]
insb byte es:[edi], dx
push ebx
je 0x40d2bc
je 0x40d2c2
add byte gs:[eax], al
add byte [eax], al
js 0x40d2a6
add byte [edx], al
add byte [ecx], ah
and ecx, dword [eax + 0x53]
push ebx
popal
add byte [ecx], 0x54
push esp
add byte [eax], ch
imul eax, dword [eax], 0x200073
insd dword es:[edi], dx
add byte [edx], ah
je 0x40d2be
add byte gs:[ebx], ah
add byte [eax + eax + 0x65], dh
add byte [eax + eax + 0x20], ah
add byte [eax], ah