Function at 0x401000
Capabilities:
Authenticate hmac
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
mov eax, dword [ebp + 8]
call fcn.00402ab7
push ebx
push edi
xchg ebx, edi
push edx
ror dx, 4
shr dx, 4
not dx
push eax
push ecx
or ax, cx
shr dl, 3
push esi
ror esi, cl
xor bx, 0x2069
stc
shr ebx, 6
stc
ror di, 3
add bh, dh
sbb si, 0x2d52
not esi
ror ebx, 3
dec bl
inc bl
mov si, 0x2454
and ax, 0x27f0
sub esi, 0xc78a198
stc
not eax
and bx, si
shl dl, cl
adc si, di
or di, cx
stc
stc
or ebx, 0x2dd0976d
mov bx, ax
dec edx
test edx, 0x31242f0c
and ah, 0x65
ror cl, cl
stc
mov esi, 0x7aa47e35
rol ah, cl
nop
shl eax, 2
and ecx, edx
ror cx, 2
shr cx, cl
xchg edi, esi
xchg ecx, esi
xor esi, 0x23843200
sub edx, 0x5add6194
and bl, 0x5b
xor bh, 0x3d
cmp ax, dx
and si, dx
dec dh
inc edi
mov dl, 0x2e
rol di, cl
adc esi, eax
stc
xchg dx, cx
test cl, 6
shl al, cl
dec ebx
cmp ax, di
test di, 0x4d4f
nop
adc ch, 0x32
stc
dec bx
shr cl, 8
not cx
mov cl, bh
not bx
stc
inc cl
xchg al, dh
cmp edx, 0xd5ed04f
xchg esi, ecx
inc eax
xor bh, 0x31
inc dx
rol dx, 2
not di
rol ax, cl
add cx, 0x40b
and bx, 0x7ec1
sbb al, al
rol ebx, cl
shr bx, cl
xor dx, di
adc edx, 0x3d027b7d
dec cl
not al
mov edi, 0x373d3dab
mov ax, 0x227f
sbb ah, 0x30
shl dx, 8
xchg di, cx
xchg esi, ecx
rol dx, cl
sbb bh, 0x75
add bh, 0x2c
pop esi
stc
push esi
xchg si, di
xor dh, ch
shl edi, 2
dec cx
test cx, 0x48a9
dec ebx
nop
stc
add bh, 0x68
test esi, edx
dec edx
stc
xor dl, dh
rol ecx, cl
add dl, cl
sbb di, 0x19d4
or esi, 0x7b7d5383
rol ecx, cl
and edx, esi
xchg esi, ebx
add ch, 0x72
dec eax
adc edi, edx
stc
test cl, al
and eax, 0xa939fc0
rol cx, 6
sbb bl, 0x3c
dec ecx
test bl, ch
sub di, si
inc ax
shr dx, cl
add dh, 0x76
shr bh, 2
not ecx
xor di, cx
rol eax, 2
adc ax, dx
nop
sbb cx, 0x40e5
rol cl, 1
adc cl, ch
nop
inc ax
inc dx
rol cx, 3
xor ax, 0x2ea6
test dx, dx
or eax, esi
not al
cmp ah, cl
adc ebx, 0x2ca5c26c
and bx, si
sub cl, 4
xor bl, 0
rol dx, 6
or ax, 0xc4e
sbb al, dh
adc cx, bx
shr bx, 8
mov bl, 0x1e
xchg ebx, eax
rol ebx, 5
and ax, bx
shr si, cl
adc ax, cx
sbb esi, ecx
or dl, dh
nop
inc ax
sbb dl, 0x46
add ecx, 0x919157c
add cx, 0x26ae
rol ah, 8
dec si
xchg bh, dh
or ah, dl
nop
mov eax, ecx
test cx, 0x63ee
and di, di
rol ebx, cl
or eax, 0x12ebdf50
sbb ebx, ebx
ror ax, cl
adc ebx, 0x3ec9192f
ror cx, cl
mov esi, ecx
rol ebx, cl
dec cl
adc si, 0x56f8
not di
mov di, 0x4f7c
nop
cmp bx, di
sub bx, di
or esi, 0x599e8e0d
add si, bx
pop esi
adc ebx, 0x3159356d
nop
shr edx, 7
push esi
xor esi, ebx
add dl, 0x32
sub bl, bh
sbb ax, 0x33fd
and ah, 2
inc ch
cmp edx, 0x1e9dde60
cmp bx, 0x44b3
or di, 0x7910
not ch
rol edx, 4
dec cl
inc di
mov di, 0x4fe5
cmp cl, ch
rol al, 4
add ecx, 0x4082c5f5
sbb ecx, edx
adc al, bh
dec ah
shl al, 4
not edi
adc si, si
shl ah, cl
not esi
not ax
dec si
not dl
mov cl, 0x51
ror esi, 1
nop
stc
shl edi, cl
nop
xor edi, 0x7f9f6bac
cmp ch, 0x58
cmp ecx, 0x3310c552
or bh, 0x50
sub cl, 0x76
ror ah, 5
adc dh, bl
xchg al, bh
shl bh, cl
mov cl, 0x64
nop
mov al, 0x1a
not ecx
stc
sbb dx, 0x5cee
rol bl, 7
xchg ch, al
rol ax, 7
or ecx, 0x9ab48f1
dec ebx
stc
adc cl, 0x15
sub edi, ebx
sub ebx, eax
and bx, 0x87e
mov si, 0x68c2
rol ecx, 5
stc
test ah, ah
sbb si, ax
mov cx, 0x5e86
dec ch
sub edi, 0x616d577c
sbb esi, 0x4315ce25
inc bl
ror edi, cl
dec cx
adc bx, di
and dx, di
ror ax, cl
or di, 0x413e
mov cl, 0x50
xchg ah, ah
xchg esi, ebx
add cl, 0x49
not dx
and ecx, eax
not bl
ror di, cl
ror bh, cl
and ebx, edx
ror ax, cl
xor ax, 0x10af
sbb ebx, edi
dec bl
nop
stc
add ax, bx
dec dh
sbb edx, edi
and ax, bx
rol dh, cl
dec di
pop esi
add cx, 0x3ebe
not bx
test dx, cx
inc bh
and bx, 0x59d6
sbb bh, 0x4d
cmp ebx, 0x3f90f4f1
rol edi, 4
push esi
add si, 0x5a65
not ebx
rol esi, cl
rol al, cl
shr ecx, cl
cmp si, dx
stc
adc bh, 0x4e
shl ebx, cl
not di
inc ebx
adc edi, eax
or si, 0x1a64
rol bx, cl
adc di, 0x4b84
adc ax, si
inc ebx
not di
xor al, 0x77
dec esi
cmp eax, 0x374ffc54
cmp bl, ch
dec ah
pop esi
pop ecx
pop eax
pop edx
pop edi
pop ebx
push ecx
push edi
add cx, di
push esi
xor si, 0x14b4
push eax
or eax, ecx
push edx
dec edx
adc eax, eax
shr edi, 7
add cx, 0x6fb
dec cx
nop
sbb eax, 0x7bed7354
push ebx
ror bx, 5
or eax, 0x7a108e38
or di, ax
dec dl
inc bh
add ah, ch
sbb al, 0xb
cmp ax, bx
mov dx, 0x629e
add ebx, 0x559bf0a7
adc di, cx
adc dx, 0x3ca
or bx, ax
and edx, edx
not al
nop
xor ch, 0x57
test si, dx
shl ch, 3
not dh
xor al, ch
or dx, 0x4464
mov ebx, ecx
adc bx, 0x6eae
inc bx
not edx
sbb ebx, ecx
nop
or edx, eax
adc bl, cl
shr ecx, 8
sbb ax, 0x323b
stc
xor ebx, eax
adc bx, 0x454f
ror si, cl
xor eax, eax
xchg cl, ah
test edx, 0xb3f0858
inc ecx
shr bx, cl
and al, bl
stc
rol dl, cl
test edi, 0x7b941ec7
stc
xchg bh, cl
and bx, si
dec bh
xor ch, al
rol ax, cl
not di
add bx, 0x2fe2
shl ch, cl
rol ah, cl
inc ch
test cx, 0x5389
rol si, 5
adc al, cl
nop
xor ecx, 0x2d4b378b
mov ecx, edi
inc eax
and dl, 0x3f
or bh, ch
not dx
not ax
sbb esi, 0x27bda966
sub dl, 0x33
xor ah, 0xe
stc
rol ecx, cl
and ecx, 0x18bf5340
ror ecx, cl
mov ecx, 0x75e6b604
sub ax, 0x6681
sub eax, 0x12872943
adc dh, ah
dec ax
adc si, dx
dec al
not edx
dec cx
dec cl
stc
stc
mov bx, ax
adc edx, 0x329e11ee
sub al, 9
rol cl, cl
pop ebx
push ebx
rol bl, cl
sub ebx, 0x3cb55b89
sbb esi, 0x53c34644
sbb bl, 0x25
add cl, cl
sbb cl, cl
xor cl, 0x69
or edx, 0x21fff33e
stc
cmp ecx, eax
sub ax, bx
add ax, 0x6693
dec esi
xor bl, 0x16
not eax
adc bl, dh
xchg ebx, eax
adc ch, 0x29
shr ax, 2
ror al, cl
dec ecx
xchg ah, cl
sub cl, dl
xor dx, si
adc bx, 0x6f5f
not cl
cmp dh, 0x26
shl edx, 8
ror cx, 3
sub al, ah
cmp bh, al
shr ecx, cl
sub eax, eax
sub ecx, ebx
ror ecx, cl
mov ecx, 0x37aaa61c
sub bh, 0x29
ror edx, 8
dec si
sbb si, 0x426a
xchg edx, ebx
cmp ch, 0xb
rol bx, cl
rol ebx, 3
test edx, 0x47c04289
mov edx, edi
pop ebx
pop edx
pop eax
pop esi
pop edi
pop ecx
call fcn.00402d96
push ecx
or ecx, 0x2b9d056d
push esi
xor si, si
or cl, 0x35
mov cx, 0x3d4f
pop esi
pop ecx
push ebx
add bl, 0x2c
nop
push edx
dec edx
push ecx
shl ecx, 4
shr bh, 6
rol dx, 4
or dx, 0x15a4
nop
push edi
and edi, ebx
push esi
shl si, 8
pop esi
pop edi
pop ecx
pop edx
pop ebx
call fcn.0040327d
push edi
not di
pop edi
mov ebx, dword [ebp + 0xc]
mov word [eax + 2], 0
mov dword [eax + 4], ebx
push ebx
mov bx, 0x3688
push eax
and bx, ax
push edx
ror edx, 2
push edi
push ecx
sub edi, ecx
ror bl, 1
inc ax
test ecx, 0x33bff93
not edx
test ax, 0x3ba4
ror ah, 2
and ah, 0x1a
rol bx, cl
adc eax, 0x6996978b
add dl, 0x5e
or ax, 0x1726
push esi
shr si, cl
xchg dl, dh
stc
test dx, 0x5788
or bx, ax
sbb edi, edi
test ah, cl
not ah
mov bh, 0xd
test bl, 0x68
shr edi, cl
sbb si, si
xchg esi, ecx
shr bx, cl
nop
test edx, 0x58b7ae51
or ecx, ebx
xchg ecx, eax
mov di, 0x15b7
and ah, 0x17
shl dh, 1
mov ax, 0x2b15
nop
shr bx, 3
sub edx, 0x7769427e
cmp ebx, 0x3e880b8f
and ch, 0x2c
sub cl, ch
sbb di, 0x24c3
mov bh, 0x33
ror eax, cl
xor si, di
stc
xchg dl, ah
xchg si, dx
mov edx, 0x4f43ba54
not esi
and al, 0x43
add bx, dx
shl si, 4
stc
or edi, esi
adc dh, bl
test ebx, eax
nop
or ah, 0x70
xor edx, 0x7b7ad487
shl al, 6
adc esi, 0x1585c56a
sub bx, 0x69dd
cmp ebx, ecx
add edi, 0x1ac5ee30
inc ch
inc edi
and ebx, 0x7c784ab3
not edx
or al, 0x28
or bh, 0x2a
xchg di, bx
cmp dh, ch
nop
shl ch, cl
xor ebx, eax
nop
sub edi, 0x1b80d2b5
shr edi, cl
mov bx, 0x4b85
shr bl, 5
stc
cmp si, bx
not cx
shr eax, cl
ror cx, 6
or edx, 0x8778261
stc
and ax, 0x78c0
shr cl, cl
adc cl, 7
stc
ror dh, cl
and dx, si
sub cx, 0x246
or dx, 0x5b6f
shr edx, cl
shl bh, cl
pop esi
adc edx, edi
xchg ah, ch
shl bh, 2
cmp di, 0x644e
add bx, 0x40f7
sbb bl, 0x1b
push esi
adc esi, 0x2949f94e
shr cl, cl
mov al, ch
test edi, 0x5fa8d941
shr cl, 1
shr dx, cl
and ecx, 0x6aaf5496
nop
inc bh
add ecx, eax
stc
sbb dx, dx
sbb ah, dl
and esi, edx
stc
xchg edx, eax
not dl
ror dx, cl
and bx, 0xa60
inc ecx
adc ah, dh
sbb ebx, esi
ror ch, cl
rol edi, cl
sub edx, 0x6bd3e4d9
dec bh
or edi, 0x683a5b99
stc
sbb dl, ch
stc
add si, ax
or edx, 0x7d36102d
nop
inc ax
not eax
dec ch
add bx, ax
add edx, 0x68580443
rol edx, cl
xchg dx, dx
rol cl, cl
stc
sbb si, 0x54e3
sbb ch, 0x40
adc ebx, ecx
test bh, dh
cmp cl, bh
add si, dx
nop
not si
or dh, 0x48
rol ebx, cl
shr dh, cl
xchg ah, ch
rol dx, cl
inc eax
shr cx, 3
not si
nop
rol bx, cl
or edx, esi
shr dl, cl
cmp ecx, 0x5984fb33
ror bl, 2
inc ecx
nop
cmp bl, dl
and dl, 0x21
stc
and edi, eax
inc di
xor al, 0x68
inc dh
stc
xor dl, dl
xchg ebx, edx
nop
rol eax, cl
cmp dl, 0x6c
rol edi, cl
dec bl
not eax
mov cx, 0xebc
stc
inc ah
sbb bx, 0x4b26
xchg esi, edi
stc
sub di, ax
shr di, cl
nop
stc
adc di, di
shl esi, 3
pop esi
dec bx
xor al, cl
mov ecx, 0x414488f
xchg dh, ah
inc dl
inc ax
cmp ecx, 0x6204b18e
sub di, 0x335a
or dx, cx
adc edi, 0x1a24ec46
xchg dh, bh
stc
rol eax, 8
dec dh
shl cl, 2
sub ecx, ecx
or ax, ax
and ax, 0x510c
xor ch, ch
push esi
sub si, 0x604f
nop
sbb ecx, edi
and ebx, 0x396aadf7
shr cx, cl
add bh, 0x2b
not al
and esi, ebx
rol ax, 5
rol esi, 5
test al, 0x2f
xchg si, ax
shl dl, 5
adc ah, ch
xor al, 0x5e
sbb di, dx
cmp ecx, ecx
stc
shr ecx, cl
cmp di, 0x7f41
nop
shl ecx, 6
inc ecx
not al
mov esi, ebx
mov dl, cl
and di, 0x4d60
and cl, 0x5d
rol dx, cl
not ch
sbb ah, 0x56
xor edx, 0x78192f98
or edi, 0x4d2e7f05
dec bh
xchg di, si
not bx
mov ch, 0x5c
dec eax
stc
xchg dh, cl
sub ax, cx
rol ax, 4
stc
xor bh, 0x68
add ecx, esi
shl eax, cl
shr bx, 2
pop esi
pop ecx
pop edi
pop edx
pop eax
pop ebx
push edx
test dx, 0x1254
push eax
adc eax, 0x54495385
push ecx
test cx, 0x3b0f
add edx, 0x45abb2a7
nop
sbb ch, 0xb
xor al, dl
push ebx
or bx, 0x3421
nop
shr dx, 2
or ebx, edx
not ax
inc bl
sbb bx, dx
nop
stc
xchg ecx, ebx
dec ax
push edi
cmp di, 0x600f
push esi
mov si, 0xb44
rol ah, cl
shr bh, 3
xor ax, dx
dec ecx
shl dx, 7
rol eax, cl
pop esi
pop edi
pop ebx
pop ecx
pop eax
pop edx
call fcn.004036be
push eax
add al, 9
push edx
push ecx
shl dh, cl
push esi
mov dx, si
push ebx
inc bx
push edi
ror edi, cl
xchg si, bx
adc bl, 0x6a
add ch, 0x55
dec ecx
and dx, 0x30e2
xchg edx, edi
dec eax
adc si, cx
dec edx
or ebx, 0x53d3ad0c
dec cl
cmp bx, 0x2d33
stc
xor ecx, ecx
sbb edi, eax
or edi, edi
nop
shl dl, 3
stc
add al, dh
inc edx
xchg dx, ax
test edi, 0x185210a0
adc di, ax
sub dl, bh
shl dx, cl
test edx, edi
test ecx, esi
sbb dx, cx
shl bx, cl
test ebx, ebx
add dx, cx
rol dx, 3
shl ebx, 8
rol ch, 5
sub cx, 0x4fe
inc si
xor di, di
dec ecx
add cx, ax
dec dl
adc si, cx
inc cx
pop edi
pop ebx
pop esi
pop ecx
pop edx
pop eax
call fcn.00403b11
jp 0x401a1b
call fcn.00403e7a
stc
js 0x4019cf
push ebx
sub bl, bl
push edx
or dl, bl
xchg dh, dh
pop edx
pop ebx
nop
push eax
sub ax, 0x3acd
push edx
sub dh, 0x6f
push edi
dec di
not edi
pop edi
pop edx
pop eax
push ebx
sbb ebx, 0x35b61361
pop ebx
push ecx
adc ecx, 0x1358e370
push edx
test edx, ecx
pop edx
pop ecx
jno 0x4019fc
push ecx
push edx
adc cl, dh
push eax
inc ax
pop eax
pop edx
pop ecx
push ebx
push edx
test bl, dl
push ecx
inc cx
push esi
or esi, ecx
pop esi
pop ecx
pop edx
pop ebx
call fcn.004042f1
call fcn.004046c8
call fcn.00404b99
push eax
xor ax, 0x3998
pop eax
call fcn.004050fe
push esi
add si, 0x2eaa
push ebx
xor si, bx
pop ebx
pop esi
push ebx
adc ebx, 0x5e146263
pop ebx
push ebx
xor bx, 0x1fd5
push esi
push ecx
rol si, cl
push eax
adc ax, bx
push edi
inc edi
pop edi
pop eax
pop ecx
pop esi
pop ebx
push edx
push ecx
sbb dl, cl
push eax
test al, 0x43
nop
dec edx
sub eax, 0x54669163
push ebx
sbb ebx, ecx
or ebx, 0x33c0c9c
cmp dx, 0x5bba
push esi
add esi, edx
shl ecx, 2
add dh, cl
pop esi
pop ebx
pop eax
pop ecx
pop edx
jbe 0x401a94
call fcn.00405685
call fcn.00405af4
call fcn.00405ed0
call fcn.00406219
push esi
push edi
sbb si, di
push ebx
push eax
adc bh, al
push edx
adc dl, 0x3c
pop edx
pop eax
pop ebx
pop edi
pop esi
push ecx
sbb ecx, 0x69977100
push edx
push edi
xor edx, edi
pop edi
pop edx
pop ecx
push edx
push eax
cmp dx, ax
pop eax
pop edx
call fcn.0040672d
call fcn.00406b83
call fcn.00406e46
push eax
add ax, 0x6dc9
pop eax
xor ecx, ecx
test ebx, ebx
je 0x402519
cmp word [ebx + ecx], 0
je 0x401fd1
call fcn.0040746d
push ebx
not ebx
push eax
push ecx
sub ax, cx
push esi
dec si
push edx
xor ah, dh
xchg ebx, ebx
add bh, 0x7d
xor al, 0x68
stc
inc ch
add ecx, 0x59656bcb
shl cl, cl
shl dx, cl
shr bl, 8
push edi
inc di
rol edx, cl
dec edi
sub ecx, edx
sbb al, ah
shr al, cl
shr esi, 7
test bh, ch
shr cl, cl
sub edx, ebx
cmp cx, dx
or eax, edx
mov eax, edx
mov edx, edi
or cl, bh
mov bx, dx
nop
test ecx, 0x2028f64
inc di
test eax, esi
or esi, esi
xchg ebx, eax
sbb si, bx
add bl, 0x3b
shr di, 8
ror di, 6
inc cx
inc edi
dec ch
shl al, cl
ror si, cl
sub ah, dh
shr di, 8
or bx, di
or cl, 0x24
adc ax, 0x48d9
dec ecx
cmp edi, eax
sbb edx, 0x7dd66704
shr edx, cl
adc bh, 0x58
shl al, 2
sub ax, di
shr edx, cl
test ebx, 0x5e0aac41
test edx, edi
inc cl
add ax, ax
not di
sbb si, di
rol bl, 3
sub ax, 0x4e3d
xor eax, edi
test eax, ecx
or bl, 0xf
ror di, 2
mov si, 0x6d6f
and dl, bl
nop
inc dx
xchg bx, si
pop edi
pop edx
pop esi
pop ecx
pop eax
pop ebx
call fcn.004078ec
push ecx
rol ch, cl
push esi
add si, 0x2787
push edx
sub dh, 0x11
push eax
sbb al, dl
or dh, ch
and ax, 0x26a1
cmp ch, 0x7d
shr si, 4
and cl, 0xb
xor al, ch
dec eax
push ebx
sub bx, 0xc4d
nop
sub cx, bx
sub ah, ch
nop
nop
sbb dl, dl
xchg al, al
cmp ebx, edx
mov esi, 0x563dff26
cmp ch, 0x68
cmp si, bx
not dl
nop
test bx, si
nop
ror ecx, 3
stc
mov eax, 0x36d5e687
rol dl, cl
or ecx, ecx
and si, 0x5ae3
rol bl, 2
add al, cl
push edi
shr di, cl
sub edi, 0x8b7ecfc
xor esi, 0x4f034d5e
or si, si
sub esi, ecx
sub ecx, ebx
sbb ah, 1
stc
and ax, dx
test dl, bh
shl ah, cl
stc
sbb ecx, 0x618c66d8
sub bh, dl
xor ah, dh
shl si, 8
xor dh, 0x6c
shr cl, cl
nop
inc cx
cmp di, 0xfce
sbb eax, 0x58e30bd5
shl ecx, 5
xor al, 0x52
sub dx, ax
test dl, 0x39
adc si, 0x688a
dec si
sbb esi, 0x1cc26da8
or eax, 0x1c7b8e2f
rol ebx, cl
rol al, 7
rol edx, 8
xor cl, 0x36
sbb dx, 0x4f5c
shl dl, 4
adc dh, ah
stc
nop
dec esi
not bh
and edx, 0xc86ff44
mov cl, 0x75
nop
dec ecx
and dl, 0x52
add di, si
dec bl
add dx, 0x74ab
mov al, 0x1f
add bh, 0x2b
not eax
shr dx, 4
sbb di, dx
not dx
nop
cmp ax, bx
mov ax, 0x2818
and si, ax
sbb cx, di
xchg cx, si
stc
xor edx, 0x1a5346f3
xchg dh, ah
add eax, 0x34cd40ce
pop edi
or bx, 0x181a
nop
stc
adc cl, cl
add bl, 0x35
add ax, 0x58d9
xchg ebx, ebx
mov bx, ax
or ax, 0x1f5a
rol dl, cl
sub al, 0x5a
dec ecx
push edi
cmp edi, 0x8a74c69
rol al, 1
test ax, 0x6d44
sub ebx, edx
inc si
shr cx, 2
dec di
dec si
xor ebx, 0x6591dfe
add di, di
adc ax, 0x5757
and ax, 0x40ae
adc cl, ah
cmp cl, bl
mov bl, al
and cx, ax
xor bl, ch
mov ebx, eax
ror bl, 7
ror eax, cl
mov bh, dh
add eax, esi
dec esi
shl dx, cl
inc dl
nop
or dx, 0x5fa0
shr di, 8
stc
sbb edx, edx
nop
not eax
and cx, 0x5ff5
dec di
xor cx, dx
rol bx, cl
shr ebx, cl
sbb ax, 0x1b58
mov bx, di
add ebx, 0x69e8e562
and bx, si
adc edi, edi
or bx, 0x7d6f
shr dl, 1
stc
ror ah, cl
dec di
not dh
xchg edi, edx
rol edi, 8
and bl, 0x77
mov bh, ah
rol edx, 5
sbb edi, eax
add ebx, ebx
test bx, dx
adc edx, edi
nop
sub edi, ebx
mov bh, 0xb
ror ch, cl
xchg bx, di
test ecx, 0x3f646ebf
sub si, bx
shl bl, cl
mov di, dx
xchg ecx, ecx
rol bl, cl
rol cx, 7
inc edi
ror eax, cl
pop edi
pop ebx
pop eax
pop edx
pop esi
pop ecx
push ebx
shr bl, 1
push ecx
sbb ch, 0x72
or ecx, 0x3607112a
push esi
adc cx, si
sbb bx, bx
inc si
dec ebx
push edi
ror di, 4
push eax
test eax, esi
shl ebx, 4
adc eax, edi
ror bx, 5
nop
xchg ecx, ecx
push edx
mov ah, dl
inc edi
sub eax, ecx
shl dl, 7
test bh, 0x29
xchg bx, di
shl ah, cl
test bh, cl
rol bh, 5
mov dx, 0x6048
mov bx, 0x58bb
shr ebx, cl
xor bx, 0x203e
inc si
cmp ecx, 0x68e6cf98
shl edi, cl
ror ch, cl
stc
sbb si, 0x675
adc dl, ah
adc eax, ecx
adc esi, 0xa4d29cb
shl ch, 2
inc dl
dec esi
dec ah
test bl, ah
sub cx, 0x48b5
test dx, 0x7fb0
shl cl, cl
sub edi, esi
dec al
sbb edx, edi
stc
nop
rol al, 2
sbb edi, 0x4d5b5e6
test bh, ah
shl edx, cl
sub dx, dx
xor ch, bh
shl si, cl
add ax, si
add ecx, 0x59e6386
test edx, 0x116dc465
cmp al, cl
pop edx
pop eax
pop edi
pop esi
pop ecx
pop ebx
call fcn.00407bef
nop
push ecx
sub ch, 0x4e
push ebx
add bl, 0x6d
push esi
dec esi
push eax
shl ax, 2
cmp bl, bh
push edx
xor dh, 0x7d
cmp dx, cx
dec ecx
mov esi, ebx
sub bx, 0x74d3
adc dx, si
xchg bh, bl
dec ax
test cx, 0x27e
push edi
mov edi, edx
sbb esi, esi
shl dl, 8
inc dl
stc
not ebx
shl dl, cl
sub ch, cl
mov edx, 0x3c3811a2
mov dh, ah
shr bh, cl
shr ecx, 2
mov ah, 0x18
sbb ax, si
stc
cmp bx, 0x112a
mov ch, ah
rol si, 1
sub esi, edi
shr si, 1
xor cl, 0x72
sbb cx, si
shr al, cl
nop
ror edx, cl
inc ebx
sub esi, 0x33f28d7a
add dx, ax
adc eax, edi
or edx, esi
and si, ax
inc eax
inc bh
cmp di, 0x482d
and ebx, eax
sbb bx, di
stc
inc eax
test di, 0x3c97
xchg esi, edx
xor cl, 0x6f
sbb dx, cx
adc al, 0x6c
sbb di, 0x7558
dec ch
pop edi
pop edx
pop eax
pop esi
pop ebx
pop ecx
nop
push ecx
push edi
xchg ecx, edi
push edx
push eax
xchg edx, eax
push ebx
shl bl, 1
not eax
mov bh, 0x5e
push esi
sbb esi, 0x59acfb8a
inc al
xor bl, cl
or dx, 0x2c07
mov eax, 0x4aa5f86b
sub dh, 0x32
or dx, si
nop
test esi, 0x7fd8cb4c
shr di, 4
dec bh
nop
stc
xor al, al
stc
or dl, ah
ror ebx, cl
cmp cl, ah
nop
adc cl, dh
cmp bx, di
pop esi
pop ebx
pop eax
pop edx
pop edi
pop ecx
push ebx
or ebx, 0xb6b65c4
push edi
cmp di, 0x39b2
push ecx
adc ecx, ebx
shl cx, cl
pop ecx
pop edi
pop ebx
push ebx
not bh
push ecx
test cl, cl
pop ecx
pop ebx
push eax
push ecx
ror al, cl
push edx
shr dl, 2
push edi
rol di, 6
test di, dx
sub dx, cx
xchg cx, ax
sub ecx, edi
ror ax, 1
push esi
shl si, 2
sub ch, 0x17
push ebx
and bl, ch
stc
nop
sbb edx, 0x5d43569
rol cl, 6
shl edi, 6
xchg si, ax
cmp cx, 0x26f8
xchg ecx, ecx
mov ecx, 0x3ca2fe16
sbb ah, al
xchg bh, ah
xor ebx, eax
sbb al, 0x3d
dec di
mov edx, 0x63b9688d
add edi, ebx
pop ebx
pop esi
pop edi
pop edx
pop ecx
pop eax
call fcn.00408057
add ecx, 2
jmp 0x401aba
cmp ecx, 0xfffd
jle 0x402510
jb 0x402225
call fcn.00408458
jb 0x4021a5
push ecx
push ebx
mov ecx, ebx
test bx, 0x660a
push esi
adc si, 0x7d0c
push edx
ror dl, cl
push edi
push eax
test di, ax
xor cx, dx
ror bh, cl
or ah, 0x3d
sub edi, edx
shr bh, cl
mov bx, 0x4db0
xor bx, cx
stc
shr dx, cl
adc bl, ch
nop
stc
shl eax, cl
sbb edx, 0x737dcc3b
xor ch, 0x43
nop
shr si, cl
mov bl, dl
test ah, cl
mov ch, dh
adc dx, 0x1c2b
and bl, dl
xor edi, 0x6961c89
adc al, bh
add edx, 0x228ceffa
stc
nop
xor bx, 0x785c
test bl, 0x20
rol ch, cl
shl dh, 7
xor ecx, ebx
rol edi, 7
shr dh, cl
pop eax
pop edi
pop edx
pop esi
pop ebx
pop ecx
nop
push edx
add edx, 0x2cd3ffeb
push ecx
inc cx
push ebx
push eax
sub bx, ax
push esi
and dx, si
nop
rol edx, cl
mov cl, 0x1f
push edi
mov edi, edx
dec cx
inc si
shr ebx, 3
add edx, ebx
adc ax, cx
sbb cx, 0x2f3e
xchg dl, al
nop
nop
rol dh, 3
cmp ebx, 0x3f93fb4a
nop
shl edx, 3
test bh, bl
xor ax, 0x40b7
adc dl, 0x74
shl al, 3
xor si, 0x778d
add si, 0x76aa
add eax, ebx
xor edi, 0x4961b3fd
mov cl, 0x64
shl ecx, 2
stc
shl ch, cl
xor ebx, 0x17b9398
sbb al, dl
shr eax, 2
sbb cx, ax
nop
adc dl, ch
or dx, 0x859
stc
xor dh, 0x14
xchg bh, ch
add ax, bx
stc
xchg edx, ebx
sub dl, bh
sbb cx, 0x144f
test edx, eax
nop
sbb cl, 0x34
adc cl, 0x79
sub ch, al
test ebx, edx
test di, 0x6bb3
xor dl, dl
add edx, 0x62c566e
test cl, 0x65
add dh, 0xf
stc
dec ebx
dec si
and cl, 0x5a
add cx, ax
ror bx, cl
and eax, 0x51da337f
or ebx, eax
inc bx
or cl, 0x4c
shl edi, 1
test cx, 0x2964
or cx, 0x378f
dec cx
add di, 0x1731
adc di, 0x32b3
sbb ax, cx
dec dl
mov ah, 0x3c
shr ch, 4
shl di, cl
inc cl
add ax, 0x7a61
adc edi, 0x44bb3431
ror di, 2
pop edi
pop esi
pop eax
pop ebx
pop ecx
pop edx
push edx
push edi
xchg dx, di
push ebx
cmp bx, 0x6c1c
push ecx
cmp cl, 0x50
push eax
sub dl, al
inc ax
xchg di, ax
rol bx, cl
rol eax, 4
pop eax
pop ecx
pop ebx
pop edi
pop edx
jae 0x4021a5
push ecx
rol cx, cl
push edx
ror dh, cl
push ebx
ror bl, 4
push eax
adc ebx, eax
pop eax
pop ebx
pop edx
pop ecx
call fcn.004087e3
jbe 0x402203
jp 0x4021df
push esi
push ecx
sub esi, ecx
stc
pop ecx
pop esi
call fcn.00408de2
call fcn.004091d5
push esi
sbb si, 0x23da
push edi
inc di
push eax
sub eax, edi
rol esi, 2
rol esi, 6
push ebx
or ebx, 0x3e523753
pop ebx
pop eax
pop edi
pop esi
call fcn.00409597
je 0x4021fe
call fcn.00409a49
push eax
push edi
xchg di, ax
pop edi
pop eax
jb 0x4021fe
push ecx
inc ecx
pop ecx
call fcn.00409fcb
jl 0x402225
call fcn.0040a4c3
push ebx
and ebx, 0x37c16b7c
push eax
push edx
xchg al, dl
push ecx
rol ecx, cl
pop ecx
pop edx
pop eax
pop ebx
call fcn.0040a8c3
call fcn.0040abd3
stc
push edx
push esi
sbb dx, si
push eax
sub eax, 0x3b3e8b16
push ebx
adc bh, 7
push ecx
rol esi, cl
push edi
not edi
sbb di, di
nop
nop
or dx, cx
inc cl
mov cl, ah
nop
shr bx, 6
sub edx, edi
nop
rol bx, cl
sub esi, 0x4e22ab8
mov dx, ax
sub dh, cl
sbb ebx, 0x7b8092c0
nop
dec bl
rol ah, cl
or bl, ch
mov eax, 0x4068ba73
dec ax
ror cx, 8
add dh, al
or ecx, esi
dec ax
shl bx, cl
and ebx, ebx
or bh, 0x6a
ror eax, cl
xor edx, ebx
or al, 0x72
sub eax, 0x78817751
xor di, 0x584
or ecx, edx
inc ebx
shl edi, cl
test si, bx
and cl, 0x7b
test bl, 0x21
ror di, cl
shl cx, cl
adc si, 0x507b
inc ax
test ax, bx
shr ebx, 8
or bh, bh
mov dh, ch
test ch, al
xchg dl, bl
shl dh, cl
xor bx, ax
test bh, 0x5a
xchg di, si
adc di, cx
or edi, ecx
rol dx, 4
inc edi
sub edi, ebx
xor ax, bx
shl cx, 8
nop
rol al, 8
mov al, 0x25
shr ch, cl
adc dx, si
adc cx, si
or ecx, 0x36ddd313
or si, 0x6df8
or dh, cl
sub dl, 0x58
and edi, 0x2c6d871
shr dh, 8
sbb di, si
adc eax, 0x48d8cebb
adc edx, ebx
or ax, 0x323d
shl ebx, cl
xor ebx, eax
cmp cx, 0x369e
adc ch, al
add di, dx
adc cx, bx
stc
stc
shr ecx, 4
test di, di
cmp cl, 0x5f
and edi, ecx
cmp edi, 0x7fe86736
adc ax, 0x4d20
not dl
or ecx, 0xcf19834
xor cx, cx
rol eax, cl
pop edi
inc cl
xor bl, dl
dec ebx
xor al, ah
test cx, 0x5245
cmp edx, 0x5888efcc
ror al, cl
adc cx, bx
shl cl, cl
cmp ch, bh
not edx
shl cx, cl
inc esi
sbb dx, ax
stc
test eax, eax
dec esi
push edi
add dx, di
rol ecx, 6
xor dl, 0x29
shl bl, cl
dec cl
sub dh, al
xor ecx, eax
xor dl, bh
dec cx
and cx, 0x2b46
or bh, ah
add dl, ch
adc cx, 0x197e
sbb ch, 0x74
mov esi, edi
sub ax, di
stc
stc
xchg edi, eax
sbb si, 0x7a21
and ecx, edi
or di, di
cmp si, 0x78b9
adc ah, 0x1f
add cx, bx
and al, dl
xor ch, al
and ch, 0x75
dec bx
xchg ch, ch
inc si
inc si
not cl
not bl
test bx, 0x57ad
dec si
pop edi
pop ecx
pop ebx
pop eax
pop esi
pop edx
push ebx
dec ebx
push edx
not dx
push eax
sub ax, 0xe84
stc
push ecx
xchg ch, dh
inc ecx
push edi
test di, 0x1cd0
or ax, 0x60f4
xor di, cx
dec cl
and dx, 0x11a6
shl di, cl
cmp bl, 0x78
sub eax, ecx
xchg dl, dl
dec edx
push esi
mov si, cx
pop esi
pop edi
pop ecx
pop eax
pop edx
pop ebx
call fcn.0040b0f6
call fcn.0040b547
push ecx
ror cl, cl
push edx
push eax
sub dh, ah
nop
ror ch, 5
nop
sub ecx, 0x4e794d1b
push edi
test di, 0x5240
xor edx, eax
push esi
or ecx, esi
nop
xchg dx, di
sbb eax, eax
or dh, dl
xchg al, cl
sub cx, ax
ror cx, cl
push ebx
test ah, bl
xchg di, di
rol bx, cl
inc ch
add di, 0x7d08
sbb ch, ah
cmp ch, 0x19
shl si, cl
dec dx
add ax, 0x6645
adc al, bl
cmp edx, esi
inc ax
shl ax, cl
stc
not bh
not ebx
mov dh, cl
inc dl
dec bx
dec ebx
cmp bl, 0x75
mov dx, dx
or edx, 0xa35343d
add ecx, 0x59410be6
or ebx, 0x7a15729c
inc edi
inc cx
not di
xchg bx, ax
sub cx, ax
stc
stc
adc eax, 0x71a72586
rol al, 1
not dh
dec cx
or eax, 0x3ab96862
test ax, dx
inc edx
and edi, 0x3bf4e7e5
ror ecx, cl
inc cx
and dh, dh
pop ebx
pop esi
pop edi
pop eax
pop edx
pop ecx
call fcn.0040bb96
push edi
and edi, 0x5e558a9c
push edx
sbb edx, 0x282266b7
push ecx
or ecx, 0x38f4a8e9
push eax
and al, ah
push esi
not si
dec cx
not edi
or edx, eax
pop esi
pop eax
pop ecx
pop edx
pop edi
call fcn.0040be16
push ebx
mov bl, 0x3b
xor ebx, ebx
pop ebx
jnp 0x40250c
push eax
push edx
xchg al, dl
pop edx
pop eax
call fcn.0040c1af
mov cx, 0xfffd
mov word [eax + 2], cx
add word [eax + 2], 2
push esi
adc esi, 0x181c520e
push edx
and edx, edx
push eax
shr ah, 2
inc dl
mov ah, 0x1d
push ebx
sbb bh, 0x65
xchg ebx, eax
not si
push ecx
xchg esi, ecx
cmp bh, dh
sbb cx, 0x3411
push edi
xchg edi, ebx
stc
sbb bh, 0x37
not cx
shr ecx, 6
add ch, 5
dec dl
mov bh, 0x7f
and bx, 0x77d8
cmp ax, 0x951
inc dh
sub dh, 1
cmp dx, dx
test si, ax
cmp bx, cx
ror ch, cl
adc al, 0x4e
add ecx, edi
test ah, 0x50
shl dl, 3
adc ax, ax
nop
add ax, cx
mov dl, 0x12
shl al, 1
mov eax, ebx
cmp ebx, edi
cmp edx, 0x7342de64
cmp esi, 0xc7a1bfc
sbb di, di
test cx, 0x2fe2
sbb dx, 0x2f1c
or dl, al
sbb ch, 0x7c
sbb di, cx
sub edi, 0x57ae9f6
xor dx, si
adc dl, 0x4a
cmp si, 0x78b1
xor eax, 0x68d84b95
shr esi, 8
shr cx, 1
not dl
shl edx, 7
shl edx, cl
shl si, cl
and cl, dl
xor esi, 0x3a5f7a68
xor ecx, 0x278811bc
nop
rol esi, cl
xchg ah, ah
sbb ch, 0xd
not ecx
xchg ebx, eax
ror dx, 1
sbb cx, 0x7b51
sbb dl, al
rol ebx, cl
inc bx
nop
stc
or edi, ebx
xor ecx, esi
stc
inc dl
rol ax, 4
and al, 0x3d
cmp bh, al
adc edi, 0x700120ad
inc di
test di, 0x71c6
and eax, ebx
test dh, cl
shr dl, cl
xor ax, 0x1099
dec dx
sbb esi, 0x7d0fb9d1
test ax, cx
mov cl, dh
not cx
cmp dh, 0x2f
xchg ecx, edx
stc
adc edi, eax
adc esi, 0x6c203e97
and esi, ebx
ror ah, 3
shr ecx, cl
pop edi
xchg dh, ch
adc eax, edx
mov ebx, 0x6b1201eb
ror cx, cl
add edx, 0x5df2db9a
shl ebx, cl
not si
or cx, 0x5ed3
nop
xor ebx, ebx
inc dl
rol ax, cl
stc
xchg ecx, ecx
stc
push edi
rol edi, 5
stc
dec esi
and eax, edi
xor al, bl
mov ah, 0x7a
adc cx, 0x2709
shl ebx, cl
xor eax, edi
dec edx
adc eax, edi
rol cl, cl
test edi, 0x35820e97
ror eax, 2
or ebx, ebx
add edi, 0x5eabb9dc
xor dx, cx
shl al, cl
xor bx, dx
test bl, 0x6b
stc
xchg ebx, ebx
cmp cx, ax
nop
shl si, 3
xchg dh, ch
not di
sbb dl, bh
and si, 0x32e2
dec cl
cmp si, 0x45c7
shr dx, cl
rol dx, cl
xchg dx, si
inc ax
not edx
dec bl
xchg ch, dl
or ebx, 0x6ed5e3e5
ror dh, cl
cmp bx, 0x4091
stc
cmp ah, dh
cmp ecx, ecx
sbb edi, 0x44ef00eb
xchg bl, al
or di, dx
inc di
xor di, bx
xchg ah, bh
dec edi
or di, 0x3279
inc cl
not di
add esi, 0x48e0da6d
or edi, edx
shl ebx, 6
shr ebx, 8
cmp ch, 0x62
ror dl, 4
adc di, 0x69fe
shr ah, cl
inc bl
shr edx, cl
xor ecx, ebx
rol bh, 5
not di
not ah
inc edi
adc dl, 0x32
not ecx
test edx, 0xb57d40c
inc ch
or esi, 0x4440000c
stc
xchg bx, ax
nop
adc si, cx
adc ecx, 0x7fdcf85b
add di, 0x197a
test edi, 0x32436463
and ch, 0x22
inc dl
nop
cmp al, dh
pop edi
rol al, cl
not bh
shl bh, cl
and ebx, 0x14116f8f
cmp cl, 0x47
xor esi, ebx
stc
stc
push edi
shr di, 3
add ecx, ebx
stc
stc
add cx, 0x6573
add ecx, 0x181a5892
and dh, ah
add esi, 0xc175c36
sbb cl, bh
not ch
rol ecx, 3
shr dx, cl
add esi, edx
stc
nop
xchg si, cx
add ah, ah
sbb al, 0x42
add dx, di
cmp cl, ch
and ax, dx
not eax
nop
cmp ch, 0x72
test cx, dx
ror cl, cl
stc
mov edi, esi
nop
inc ecx
inc edi
xor cl, 0x5e
and dh, 0x29
rol edi, 5
rol ecx, 2
test si, 0x639
xor di, 0x39a8
sub si, bx
adc eax, edi
xchg ch, al
and dh, 0x15
nop
or dh, bl
xchg bh, dl
and ecx, edx
ror eax, cl
rol cx, cl
mov ebx, edx
stc
cmp di, 0x7c48
stc
not ah
xchg cl, cl
shl edi, 8
dec edx
ror si, cl
cmp eax, 0x3338ac7c
xchg edx, edi
or edi, 0x334cbfc8
add si, si
inc ecx
adc ebx, ecx
or eax, ecx
test bl, bl
sbb edi, 0x18073620
or ch, dh
or ecx, 0x499ae802
xchg bh, bh
adc edx, edi
sub esi, 0x750a8b84
xor dh, dl
and si, 0x41a4
xor ebx, 0x4d2efc02
or ecx, edx
nop
add di, cx
xchg dx, bx
not bx
cmp cl, dh
adc ah, bh
mov dx, dx
xchg bl, dl
adc si, di
xor bx, dx
or eax, esi
not dh
and cx, 0x6f9d
xor dh, 0x10
xchg al, bl
rol eax, cl
mov ah, 0x6d
test di, 0x5a1a
pop edi
sub eax, ecx
rol eax, 6
shr eax, cl
cmp ah, dh
shl bl, 1
inc bl
cmp bx, bx
dec esi
sub al, 0x3f
xchg dx, dx
shr cl, cl
shl eax, 3
and edx, 0x736ca3e3
test si, cx
and ecx, esi
test ch, cl
push edi
sbb di, cx
shl esi, cl
add di, cx
or ebx, eax
shr bl, 4
rol ah, cl
cmp cx, 0x21e1
pop edi
pop ecx
pop ebx
pop eax
pop edx
pop esi
push ebx
mov bl, 0x6f
push edx
xor dx, 0x2f6d
push edi
rol di, 5
not bx
nop
stc
or dx, di
push ecx
shl bl, cl
stc
dec ch
push eax
or ax, dx
and cx, 0x2a45
not bx
push esi
or si, si
sbb ax, 0x1d71
pop esi
pop eax
pop ecx
pop edi
pop edx
pop ebx
push esi
shl esi, 2
push edi
or di, 0x1737
nop
mov esi, 0x1ef69327
stc
push ebx
sub si, bx
push eax
test eax, edi
not bl
push ecx
mov cx, bx
push edx
add dl, cl
not ah
test bx, 0x3d88
cmp ecx, 0x5c0b1c1d
xor di, si
xor si, dx
xor cx, 0x4781
shr dl, 8
mov ecx, ecx
and cx, 0xf19
ror ecx, cl
not edx
not eax
dec di
xchg ebx, edx
mov bh, 0x42
shl bh, cl
test dh, bl
sbb ch, 0x72
inc esi
rol bl, cl
and bl, ah
nop
shr dx, cl
stc
sub bl, al
xchg di, cx
mov ebx, esi
rol dx, cl
shr cl, cl
inc edi
rol bl, 7
or ax, cx
ror eax, cl
dec bl
cmp ch, 0x69
and cl, dl
test edx, 0x6aa2ba52
shr dx, cl
shr ch, cl
shr bl, 8
not bx
xor eax, 0x6222f47b
dec al
adc ah, dl
cmp esi, edi
rol ebx, 3
dec dx
sbb dh, 0x14
stc
adc dx, 0x6910
xchg cx, cx
stc
sbb si, 0x3533
add al, 0x7f
dec esi
xor ecx, 0xc84947a
nop
test cl, ah
nop
mov dl, 0xb
and ah, ch
or bh, bh
cmp cl, dh
test ch, bl
rol ch, 7
xor esi, edi
mov bx, cx
xchg dx, ax
adc cl, 0x56
not ecx
mov ch, al
shr ebx, 5
inc al
rol bx, 5
shr bx, cl
pop edx
pop ecx
pop eax
pop ebx
pop edi
pop esi
push esi
add si, 0x3f42
push ecx
adc ch, 0x3e
stc
push edi
shr di, cl
push edx
rol edx, cl
cmp dx, 0x3a96
stc
push eax
adc ah, ch
inc eax
shl ecx, cl
stc
nop
shl esi, cl
inc si
stc
stc
mov ax, cx
not cl
dec dh
or cx, 0x5ae9
rol dx, 7
push ebx
inc bl
and edx, ebx
dec bl
add al, al
dec ecx
inc dl
rol cx, 2
not ecx
rol dl, cl
shr si, 5
test ax, bx
stc
mov eax, 0x1544d2cb
add ebx, 0x3c28bf96
rol ecx, cl
stc
xchg ch, al
test cl, 0x62
xchg cl, dh
adc ax, cx
shl dh, 2
sub di, 0x41f7
mov ah, ch
and dh, 0x5a
pop ebx
pop eax
pop edx
pop edi
pop ecx
pop esi
jns 0x402a57
push eax
test ah, 0x6b
push ebx
add ebx, 0x6ef4785
pop ebx
pop eax
jp 0x402a67
jecxz 0x402a67
push esi
or esi, 0x34c2839c
pop esi
jecxz 0x402a7e
call fcn.0040c667
call fcn.0040cb55
jns 0x402a7e
call fcn.0040cedc
push edi
inc di
pop edi
call fcn.0040d317
push edx
dec dl
pop edx
push eax
add ax, 0x7371
push ecx
rol al, cl
push edi
or cx, di
pop edi
pop ecx
pop eax
call fcn.0040d846
push ecx
inc ecx
pop ecx
mov word [eax], cx
pop ebx
pop ebp
ret