Function at 0x413260
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x3d8
mov esi, esp
mov dword [esi + 0x280], 0x2a3d2884
lea eax, [esi + 0x280]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x280]
mov ecx, eax
sub ecx, 0x81c09142
je 0x4150a6
jmp 0x41329a
mov ecx, eax
sub ecx, 0x825f87c3
je 0x415dfb
jmp 0x4132aa
mov ecx, eax
sub ecx, 0x829ef522
je 0x416dc7
jmp 0x4132ba
mov ecx, eax
sub ecx, 0x83b57808
je 0x41652a
jmp 0x4132ca
mov ecx, eax
sub ecx, 0x85d1bfb1
je 0x417267
jmp 0x4132da
mov ecx, eax
sub ecx, 0x86441fea
je 0x417259
jmp 0x4132ea
mov ecx, eax
sub ecx, 0x868e899e
je 0x41703f
jmp 0x4132fa
mov ecx, eax
sub ecx, 0x87ebe230
je 0x4157aa
jmp 0x41330a
mov ecx, eax
sub ecx, 0x88019255
je 0x414bf7
jmp 0x41331a
mov ecx, eax
sub ecx, 0x880c32aa
je 0x416a21
jmp 0x41332a
mov ecx, eax
sub ecx, 0x8898de0c
je 0x415d21
jmp 0x41333a
mov ecx, eax
sub ecx, 0x8b49bc8b
je 0x414732
jmp 0x41334a
mov ecx, eax
sub ecx, 0x8bff6211
je 0x415c97
jmp 0x41335a
mov ecx, eax
sub ecx, 0x8c6a6ffd
je 0x414855
jmp 0x41336a
mov ecx, eax
sub ecx, 0x8cd14391
je 0x41706e
jmp 0x41337a
mov ecx, eax
sub ecx, 0x8cfad7ff
je 0x4173f1
jmp 0x41338a
mov ecx, eax
sub ecx, 0x8d088a88
je 0x41553e
jmp 0x41339a
mov ecx, eax
sub ecx, 0x8d6bcb25
je 0x4141fd
jmp 0x4133aa
mov ecx, eax
sub ecx, 0x8efa404d
je 0x414328
jmp 0x4133ba
mov ecx, eax
sub ecx, 0x8fe14742
je 0x4160e4
jmp 0x4133ca
mov ecx, eax
sub ecx, 0x93c926f3
je 0x415c5c
jmp 0x4133da
mov ecx, eax
sub ecx, 0x964137dd
je 0x41578e
jmp 0x4133ea
mov ecx, eax
sub ecx, 0x96562a55
je 0x4150ef
jmp 0x4133fa
mov ecx, eax
sub ecx, 0x9669f0cd
je 0x415628
jmp 0x41340a
mov ecx, eax
sub ecx, 0x9df9db6b
je 0x417029
jmp 0x41341a
mov ecx, eax
sub ecx, 0x9e7a50fb
je 0x416d31
jmp 0x41342a
mov ecx, eax
sub ecx, 0x9fd61bca
je 0x4177a8
jmp 0x41343a
mov ecx, eax
sub ecx, 0xa17e7a46
je 0x414af3
jmp 0x41344a
mov ecx, eax
sub ecx, 0xa2dbce7b
je 0x4149be
jmp 0x41345a
mov ecx, eax
sub ecx, 0xa55404ca
je 0x414724
jmp 0x41346a
mov ecx, eax
sub ecx, 0xa5ae7080
je 0x414174
jmp 0x41347a
mov ecx, eax
sub ecx, 0xa7e838c0
je 0x415814
jmp 0x41348a
mov ecx, eax
sub ecx, 0xa87fe9e9
je 0x4144d9
jmp 0x41349a
mov ecx, eax
sub ecx, 0xa8cc4135
je 0x415d3b
jmp 0x4134aa
mov ecx, eax
sub ecx, 0xaa976e5a
je 0x416e49
jmp 0x4134ba
mov ecx, eax
sub ecx, 0xaaf85604
je 0x4172a4
jmp 0x4134ca
mov ecx, eax
sub ecx, 0xab9d68ec
je 0x416db9
jmp 0x4134da
mov ecx, eax
sub ecx, 0xabebb586
je 0x414bd8
jmp 0x4134ea
mov ecx, eax
sub ecx, 0xad41dba3
je 0x4155b4
jmp 0x4134fa
mov ecx, eax
sub ecx, 0xad7dcf0d
je 0x41728a
jmp 0x41350a
mov ecx, eax
sub ecx, 0xaea1119b
je 0x4161ae
jmp 0x41351a
mov ecx, eax
sub ecx, 0xaf142262
je 0x416df4
jmp 0x41352a
mov ecx, eax
sub ecx, 0xaf8d90b1
je 0x4150fd
jmp 0x41353a
mov ecx, eax
sub ecx, 0xafa2aceb
je 0x414f60
jmp 0x41354a
mov ecx, eax
sub ecx, 0xb00d4ef0
je 0x414f6e
jmp 0x41355a
mov ecx, eax
sub ecx, 0xb1991028
je 0x4149f9
jmp 0x41356a
mov ecx, eax
sub ecx, 0xb21b0584
je 0x414c21
jmp 0x41357a
mov ecx, eax
sub ecx, 0xb31a8813
je 0x416496
jmp 0x41358a
mov ecx, eax
sub ecx, 0xb3a169a9
je 0x416e02
jmp 0x41359a
mov ecx, eax
sub ecx, 0xb56d97ae
je 0x416fb1
jmp 0x4135aa
mov ecx, eax
sub ecx, 0xb58b243d
je 0x4144b7
jmp 0x4135ba
mov ecx, eax
sub ecx, 0xb58f2378
je 0x4167d9
jmp 0x4135ca
mov ecx, eax
sub ecx, 0xb789cffa
je 0x415acf
jmp 0x4135da
mov ecx, eax
sub ecx, 0xb7ad7dd8
je 0x41582e
jmp 0x4135ea
mov ecx, eax
sub ecx, 0xb88ddf31
je 0x4174ea
jmp 0x4135fa
mov ecx, eax
sub ecx, 0xb9880c0a
je 0x41644d
jmp 0x41360a
mov ecx, eax
sub ecx, 0xb9ca85bd
je 0x415721
jmp 0x41361a
mov ecx, eax
sub ecx, 0xba6f0e67
je 0x416e63
jmp 0x41362a
mov ecx, eax
sub ecx, 0xbad203f8
je 0x414c05
jmp 0x41363a
mov ecx, eax
sub ecx, 0xbb68149c
je 0x416714
jmp 0x41364a
mov ecx, eax
sub ecx, 0xbd864fa0
je 0x416e2f
jmp 0x41365a
mov ecx, eax
sub ecx, 0xbde3bde1
je 0x416e73
jmp 0x41366a
mov ecx, eax
sub ecx, 0xbf2da301
je 0x41525d
jmp 0x41367a
mov ecx, eax
sub ecx, 0xc372dfb8
je 0x416120
jmp 0x41368a
mov ecx, eax
sub ecx, 0xc374616f
je 0x4164dc
mov eax, 0xe57c401c
test byte [esi + 0x2a], 1
jne 0x414184
mov eax, 0x4bc39aef
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xd614cc72
jmp 0x4177ed
mov ecx, dword [esi + 0x338]
mov eax, dword [esi + 0x214]
mov cl, byte [ecx]
mov byte [esi + 0x144], cl
mov byte [eax], 0x6a
mov byte [eax + 1], 0x1b
mov byte [eax + 2], 0x8e
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 4
jne 0x41434c
mov ecx, dword [esi + 0x214]
xor eax, eax
cmp eax, 4
jae 0x4143ea
movzx edx, byte [ecx + eax]
mov dword [esi + 0x2b0], edx
mov dword [esi + 0x2f4], ecx
mov ecx, eax
add ecx, 0xc038f5d
mov ebx, ecx
shl ebx, 1
mov edi, eax
add edi, 0x5c
sub edi, ebx
or edi, edx
mov ebx, 0xf3fc70a2
sub ebx, eax
and ebx, 0xa618c502
and ecx, 0x59e73afd
or ebx, ecx
xor ebx, 0x59e73afd
mov ecx, 0xa2
sub ecx, eax
mov dword [esi + 0x284], ecx
mov ecx, eax
add ecx, 0x5d
mov edx, ebx
and edx, ecx
mov ecx, ebx
xor ecx, dword [esi + 0x284]
add ebx, ecx
mov ecx, dword [esi + 0x2f4]
sub ebx, edx
and ebx, dword [esi + 0x2b0]
xor edi, 0xffffffff
or ebx, edi
add bl, 0x2f
mov byte [ecx + eax], bl
add eax, 1
jmp 0x414360
mov eax, dword [esi + 0x1c]
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00401b20
add esp, 0xc
mov ecx, 0xc9891bbb
cmp eax, 0
jne 0x414416
mov ecx, 0xb58b243d
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4177ed
mov eax, dword [esi + 0xa8]
mov eax, dword [esi + 4]
mov dword [eax], 0x48def392
jmp 0x4177ed
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x340]
mov eax, dword [esi + 0xac]
mov cl, byte [ecx]
mov byte [esi + 0x14c], cl
mov byte [eax], 0xdb
mov byte [eax + 1], 0x47
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x4144ff
mov eax, dword [esi + 0xac]
xor ecx, ecx
cmp ecx, 6
jae 0x414536
mov bl, byte [eax + ecx]
mov edi, ecx
shl edi, 1
and edi, 0x22
mov edx, ecx
xor edx, 0x11
add edx, edi
xor dl, bl
add dl, 0xab
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x414513
mov ecx, dword [esi + 0x1c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018a0
add esp, 8
mov dword [esi + 0x32c], eax
mov ecx, dword [esi + 0x344]
mov eax, dword [esi + 0x218]
mov cl, byte [ecx]
mov byte [esi + 0x150], cl
mov byte [eax], 0xea
mov byte [eax + 1], 0x1b
mov byte [eax + 2], 0x8e
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 7
jne 0x414575
mov eax, dword [esi + 0x218]
xor ecx, ecx
cmp ecx, 7
jae 0x4145c4
movzx edi, byte [eax + ecx]
mov ebx, ecx
add ebx, 0x89519a1d
mov edx, 0xe2
sub edx, ecx
and edx, edi
xor edi, 0xffffffff
and ebx, edi
or edx, ebx
mov edi, edx
shl edi, 1
and edi, 0xdc
xor edx, 0x6e
add edx, edi
add dl, 1
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x414589
mov ecx, dword [esi + 0x1c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00401900
add esp, 8
fnstcw word [esi + 0x4a]
movzx eax, word [esi + 0x4a]
or eax, 0xc00
mov word [esi + 0x1c6], ax
fldcw word [esi + 0x1c6]
fistp dword [esi + 0x334]
fldcw word [esi + 0x4a]
mov eax, dword [esi + 0x334]
mov dword [esi + 0x10], eax
mov ecx, dword [esi + 0x348]
mov eax, dword [esi + 0x21c]
mov cl, byte [ecx]
mov byte [esi + 0x154], cl
mov byte [eax], 0xad
mov byte [eax + 1], 0x11
mov ecx, 2
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 6
jne 0x414624
mov eax, dword [esi + 0x21c]
xor ecx, ecx
cmp ecx, 6
jae 0x414677
movzx edi, byte [eax + ecx]
mov ebx, ecx
add ebx, 0x3c
mov edx, ecx
add edx, 0x45df253c
or edx, edi
and ebx, edi
add edx, 0x97c2b188
sub edx, ebx
add edx, 0xc5923837
mov edi, edx
shl edi, 1
and edi, 2
xor edx, 1
add edx, edi
add dl, 0x14
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x414638
mov ecx, dword [esi + 0x1c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00401900
add esp, 8
fnstcw word [esi + 0x48]
movzx eax, word [esi + 0x48]
or eax, 0xc00
mov word [esi + 0x1c4], ax
fldcw word [esi + 0x1c4]
fistp dword [esi + 0x330]
fldcw word [esi + 0x48]
mov eax, dword [esi + 0x330]
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0x220]
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], 0x400
mov eax, dword [esi + 0x32c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0040aa30
add esp, 0x10
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x220]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0040b170
add esp, 0xc
mov ecx, 0x8b49bc8b
test al, 1
jne 0x41471a
mov ecx, 0xa55404ca
mov eax, dword [esi + 4]
mov dword [eax], ecx
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xcb85cfb4
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x7b386d48
jmp 0x4177ed
mov eax, dword [esi + 0xc4]
sub esp, 4
mov dword [esp], eax
call fcn.00417830
add esp, 4
mov dword [esi + 0xc8], eax
mov edi, dword [esi + 0xc8]
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x414890
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408250
add esp, 4
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0xc4]
xor edx, edx
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call fcn.0040aa30
add esp, 0x10
mov eax, dword [0x44d264]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xc8]
mov edi, dword [esi + 0x54]
xor ebx, ebx
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edi
call eax
mov dword [esi + 0x2f8], eax
mov eax, dword [esi + 0x350]
mov ecx, dword [esi + 0x224]
mov al, byte [eax]
mov byte [esi + 0x15c], al
mov byte [ecx], 0x59
mov byte [ecx + 1], 0x27
mov byte [ecx + 2], 0x26
mov byte [ecx + 3], 0xe1
mov eax, 4
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 8
jne 0x414933
mov edi, dword [esi + 0x224]
xor ecx, ecx
cmp ecx, 8
jae 0x414992
movzx eax, byte [edi + ecx]
mov dword [esi + 0x2a0], eax
mov eax, ecx
shl eax, 1
and eax, 0x89c07012
mov edx, ecx
shl edx, 1
and edx, 0x89c07012
add edx, 0xbb1fc7f7
mov ebx, ecx
sub ebx, edx
add ebx, eax
xor ebx, dword [esi + 0x2a0]
add ebx, 0x2b290a54
mov eax, ebx
shl eax, 1
xor ebx, 0x7f
add ebx, eax
mov byte [edi + ecx], bl
add ecx, 1
jmp 0x414947
mov ecx, dword [edi]
mov eax, 0x7e2bd888
cmp dword [esi + 0x2f8], ecx
je 0x4149a6
mov eax, 0x5f09a42d
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x7e0b849d
jmp 0x4177ed
mov eax, dword [esi + 8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0043b790
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xec8e983e
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x4241e320
jmp 0x4177ed
mov eax, dword [esi + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x88019255
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xbad203f8
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x54119a83
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x26e019b8
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x1d8], 0
mov dword [esi + 0x1d4], eax
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xb00d4ef0
jmp 0x4177ed
mov eax, dword [esi + 0x380]
movsx eax, byte [eax + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov ecx, dword [esi + 0x78]
add ecx, 2
mov dword [esi + 0x384], ecx
mov ecx, dword [esi + 0x78]
mov word [ecx], ax
mov eax, dword [esi + 0x254]
sub eax, 0xffffffff
mov dword [esi + 0x388], eax
mov eax, dword [esi + 4]
mov dword [eax], 0x3919d40f
mov eax, dword [esi + 0x388]
mov ecx, dword [esi + 0x384]
mov dword [esi + 0x1e8], ecx
mov dword [esi + 0x1e4], eax
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x21dbedd4
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xaf8d90b1
jmp 0x4177ed
mov eax, dword [esi + 8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.0043b790
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x8cf6318
mov eax, dword [esi + 0x20]
mov dword [esi + 0x84], 4
mov dword [esi + 0x80], eax
jmp 0x4177ed
mov eax, 0x4704961
test byte [esi + 0x2d], 1
jne 0x41526d
mov eax, 0x7fba7057
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4177ed
mov eax, dword [esi + 0x3c]
mov eax, dword [esi + 4]
mov dword [eax], 0x5d2e6187
jmp 0x4177ed
mov eax, 0x5896a847
test byte [esi + 0x2f], 1
jne 0x4155c4
mov eax, 0xb9ca85bd
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x264]
mov dword [esi + 0x1f0], eax
jmp 0x4177ed
mov eax, dword [esi + 0x394]
mov dword [esi + 0x304], eax
mov al, byte [esi + 0x130]
mov byte [esi + 0x1a8], al
mov byte [esi + 0x134], 0xb
mov byte [esi + 0x135], 0xa
mov byte [esi + 0x136], 0xd
mov byte [esi + 0x137], 0xc
mov eax, 4
mov byte [esi + eax + 0x134], 0
add eax, 1
cmp eax, 7
jne 0x415661
xor eax, eax
cmp eax, 7
jae 0x415695
mov cl, byte [esi + eax + 0x134]
mov dl, al
add dl, 0x42
xor dl, cl
add dl, 0xb6
mov byte [esi + eax + 0x134], dl
add eax, 1
jmp 0x415673
mov ecx, dword [esi + 0x134]
xor edi, edi
cmp edi, dword [0x44d268]
jb 0x4156a7
jmp 0x415707
mov eax, dword [0x44d26c]
cmp dword [eax + edi*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x4156bd
jmp 0x4156fb
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x4156fb
mov dword [esi + 0x2c4], ecx
mov ecx, dword [0x44d270]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esi + 0x304]
mov dword [esp + 0xc], eax
call fcn.0043de40
mov ecx, dword [esi + 0x2c4]
add esp, 0x10
test bl, 1
je 0x415702
jmp 0x415707
add edi, 1
jmp 0x41569d
mov eax, dword [esi + 4]
mov dword [eax], 0xb9ca85bd
mov eax, dword [esi + 0x390]
mov dword [esi + 0x1f0], eax
jmp 0x4177ed
mov eax, dword [esi + 0x1f0]
mov dword [esi + 0x398], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xe6b26a6f
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x15434ba2
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xc372dfb8
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x20c], 4
mov dword [esi + 0x208], ecx
mov dword [esi + 0x204], eax
mov dword [esi + 0x200], 0
jmp 0x4177ed
mov eax, 0xb7ad7dd8
test byte [esi + 0x31], 1
jne 0x415824
mov eax, 0x825f87c3
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4177ed
mov eax, dword [esi + 0xbc]
mov ecx, dword [esi + 0x35c]
mov eax, dword [esi + 0xbc]
mov cl, byte [ecx]
mov byte [esi + 0x180], cl
mov byte [eax], 0xea
mov byte [eax + 1], 0xd1
mov byte [eax + 2], 0x46
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 8
jne 0x415858
mov eax, dword [esi + 0xbc]
xor ecx, ecx
cmp ecx, 8
jae 0x415893
movzx edi, byte [eax + ecx]
mov ebx, ecx
add ebx, 0x467f81f1
mov edx, ebx
or edx, edi
and ebx, edi
add edx, 0x20
sub edx, ebx
add dl, 0x2b
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x41586c
mov ecx, dword [esi + 0x1c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004018a0
add esp, 8
mov dword [esi + 0xd0], eax
mov ecx, dword [esi + 0x360]
mov eax, dword [esi + 0x234]
mov cl, byte [ecx]
mov byte [esi + 0x184], cl
mov byte [eax], 0x51
mov byte [eax + 1], 0x43
mov byte [eax + 2], 0x32
mov ecx, 3
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 4
jne 0x4158d2
mov edx, dword [esi + 0x234]
xor ecx, ecx
cmp ecx, 4
jae 0x415994
movzx edi, byte [edx + ecx]
mov ebx, 0x5ef548cb
sub ebx, ecx
mov dword [esi + 0x320], edx
mov edx, edi
xor edx, 0xffffffff
shl edx, 1
add edx, edi
mov eax, 0xfffffffe
sub eax, edx
mov edx, ecx
add edx, 0xa10ab734
and edx, 0xa3cdda5b
and ebx, 0x5c3225a4
or edx, ebx
xor edx, eax
xor edx, 0xa3cdda5b
and edx, eax
mov eax, ecx
add eax, 0xa10ab734
or eax, edi
mov edi, edx
shl edi, 1
xor edi, 0xffffffff
add edx, edi
mov edi, eax
add edi, 1
xor eax, 0xffffffff
or edx, eax
add edx, edi
mov eax, edx
xor eax, 0x25359405
shl edx, 1
and edx, 0xb594d7f4
sub edx, eax
mov eax, edx
shl eax, 1
and eax, 2
mov edi, edx
shl edi, 1
and edi, 2
xor edx, 0xffffffff
add edi, edx
mov edx, dword [esi + 0x320]
sub eax, edi
mov byte [edx + ecx], al
add ecx, 0xe28c1449
mov eax, ecx
and eax, 7
shl ecx, 1
and ecx, 0xe
sub ecx, eax
jmp 0x4158e6
mov eax, dword [esi + 0x1c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004018a0
add esp, 8
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.00417c60
add esp, 4
mov dword [esi + 0x39c], eax
cmp dword [esi + 0xd0], 0
setne al
and al, 1
mov byte [esi + 0x1a], al
mov eax, 0x6b880d4e
test byte [esi + 0x1a], 1
jne 0x4159e5
mov eax, 0x446e70a3
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov dword [esi + 0x1f4], 0
jmp 0x4177ed
mov eax, dword [esi + 0x1f8]
mov dword [esi + 0x26c], eax
mov eax, dword [esi + 0x39c]
xor ecx, ecx
sub ecx, eax
add ecx, 0xfffffff7
xor eax, eax
sub eax, ecx
add eax, dword [esi + 0x268]
mov ecx, dword [esi + 0x26c]
xor ecx, 0xffffffff
sub ecx, 0xffffffff
sub eax, ecx
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x415b1c
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00408250
add esp, 4
mov dword [esi + 0x270], eax
mov ecx, dword [esi + 0x364]
mov eax, dword [esi + 0x238]
mov cl, byte [ecx]
mov byte [esi + 0x188], cl
mov byte [eax], 0xb2
mov byte [eax + 1], 0x5b
mov byte [eax + 2], 0xd1
mov byte [eax + 3], 0x59
mov byte [eax + 4], 0xaa
mov byte [eax + 5], 0x5f
mov byte [eax + 6], 0xba
mov byte [eax + 7], 0x5d
mov byte [eax + 8], 0xa0
mov byte [eax + 9], 0x53
mov byte [eax + 0xa], 0xae
mov byte [eax + 0xb], 0x51
mov byte [eax + 0xc], 0x65
mov byte [eax + 0xd], 0x57
mov byte [eax + 0xe], 0x60
mov byte [eax + 0xf], 0x55
mov byte [eax + 0x10], 0x54
mov byte [eax + 0x11], 0x6b
mov ecx, 0x12
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0x14
jne 0x415b90
mov eax, dword [esi + 0x238]
xor ecx, ecx
cmp ecx, 0x14
jae 0x415bf2
movzx edi, byte [eax + ecx]
mov ebx, ecx
add ebx, 0x1c0fa38f
mov edx, 0x63f05c70
sub edx, ecx
and edx, 0x7afc006b
and ebx, 0x8503ff94
or edx, ebx
xor edx, edi
xor edx, 0x7afc006b
add edx, 0x73b1ce34
mov edi, edx
shl edi, 1
and edi, 0x6e
xor edx, 0xb7
add edx, edi
add dl, 0x4a
mov byte [eax + ecx], dl
add ecx, 1
jmp 0x415ba4
mov ecx, dword [esi + 0x270]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409db0
add esp, 8
mov ecx, eax
add ecx, 2
mov word [eax], 0x20
add ecx, 2
mov word [eax + 2], 0x22
mov eax, dword [esi + 0xc]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409db0
add esp, 8
mov ecx, eax
add ecx, 2
mov dword [esi + 0xd8], ecx
mov word [eax], 0x22
mov eax, 0x8bff6211
cmp dword [esi + 0xc], 0
je 0x415c52
mov eax, 0x93c926f3
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xc95c91ef
jmp 0x4177ed
mov eax, 0x560e1269
test byte [esi + 0x1a], 1
jne 0x415ca7
mov eax, 0x8898de0c
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0xd8]
mov dword [esi + 0x1fc], eax
jmp 0x4177ed
mov eax, dword [esi + 0x1fc]
mov dword [esi + 0x274], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xa8cc4135
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xd98694e9
jmp 0x4177ed
mov eax, 0x143b7308
cmp dword [esi + 0x10], 2
je 0x415e0b
mov eax, 0xcd0cb9f0
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x98], ecx
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], 0
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xc372dfb8
mov eax, dword [esi + 0x3b8]
mov ecx, dword [esi + 0x3b4]
mov edx, dword [esi + 0x3b0]
mov dword [esi + 0x20c], 0
mov dword [esi + 0x208], eax
mov dword [esi + 0x204], ecx
mov dword [esi + 0x200], edx
jmp 0x4177ed
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x204]
mov edx, dword [esi + 0x208]
mov edi, dword [esi + 0x20c]
mov dword [esi + 0x3bc], eax
mov dword [esi + 0x3c0], ecx
mov dword [esi + 0x3c4], edx
mov eax, 0xb31a8813
cmp edi, 0
je 0x416159
mov eax, 0xcb85cfb4
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x3c4]
mov ecx, dword [esi + 0x3c0]
mov edx, dword [esi + 0x3bc]
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], ecx
mov dword [esi + 0x9c], edx
jmp 0x4177ed
mov eax, 0xec6a87c7
test byte [esi + 0x32], 1
jne 0x4161be
mov eax, 0xb31a8813
mov ecx, dword [esi + 4]
mov dword [ecx], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0xa4], eax
mov dword [esi + 0xa0], 0
mov dword [esi + 0x9c], 0
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x2e219b8f
jmp 0x4177ed
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0xa0]
mov edx, dword [esi + 0xa4]
mov dword [esi + 0x44], eax
mov dword [esi + 0xe0], ecx
mov dword [esi + 0x7c], edx
mov eax, dword [esi + 4]
mov dword [eax], 0xff08b84a
jmp 0x4177ed
mov eax, 0x3a0650ab
test byte [esi + 0x19], 1
jne 0x41653a
mov eax, 0x370df686
mov ecx, dword [esi + 4]
mov dword [ecx], eax
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x28078ceb
jmp 0x4177ed
cmp dword [esi + 0xe4], 0
setne al
and al, 1
mov byte [esi + 0x33], al
mov eax, dword [esi + 4]
mov dword [eax], 0x562115e3
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xc7c53af6
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xefbe843d
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x829ef522
jmp 0x4177ed
mov eax, dword [esi + 0x44]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0x2c13b5ad
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xb3a169a9
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0x7059d26f
jmp 0x4177ed
mov eax, dword [esi + 0x74]
add eax, 1
mov dword [esi + 0x3cc], eax
mov eax, dword [esi + 4]
mov dword [eax], 0xaa976e5a
jmp 0x4177ed
mov eax, dword [esi + 4]
mov dword [eax], 0xc588870f
mov eax, dword [esi + 0x3cc]
mov dword [esi + 0x1d0], eax
jmp 0x4177ed
mov al, byte [esi + 0x18]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
in al, 3
movsb byte es:[edi], byte [esi]
int 0x83
in al, dx
add al, 0x8b
inc ebp
or byte [ecx + 0x2be82404], cl
stosd dword es:[edi], eax
invalid
jmp 0x709f6cf
stosd dword es:[edi], eax
ljmp 0x4ec
rol byte [ebx + 0x2c], cl
jmp 0x416fbf
rcr dh, cl
jl 0x417047
adc al, 0x44
push cs
mov eax, dword [esi + 4]
mov dword [eax], 0x3443b0d9
jmp 0x4177ed
js 0x417003
mov word [0xc0873f40], ax
sub bl, dh
fnstcw word [ebx]
jne 0x417000
in al, 0x50
mov eax, dword [esi + 0x14]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xabebb586
jmp 0x4177ed
or dword [eax + 0x468b8c92], edx
add al, 0xc7
add byte [ebx - 0x16abee66], al
insd dword es:[edi], dx
pop es
add byte [eax], al
movsb byte es:[edi], byte [esi]
test esi, edx
fidiv dword [eax]
or al, 0xd4
wait
mov esi, dword [esi - 0x71]
ret 0x5393
add byte [ecx], ch
retf
mov eax, dword [esi + 4]
mov dword [eax], 0x81c09142
jmp 0x4177ed
and ecx, dword [eax + 0x38]
je 0x4171f7
inc esi
and byte [ebx + 0x48904ec], al
and al, 0xe8
out 0xf, eax
invalid
jp 0x4172da
push ss
dec ebx
push ecx
fcmovnbe st(0), st(5)
xor dh, byte [ebp - 0x52]
mov eax, dword [esi + 4]
mov dword [eax], 0x56191bb1
jmp 0x4177ed
add bh, dl
xlatb
test eax, 0x5f1bb642
and al, 0x99
mov ecx, dword [esi + 0x230]
mov eax, dword [esi + 0x38]
mov cl, byte [ecx]
mov byte [esi + 0x174], cl
mov byte [eax], 0xea
mov byte [eax + 1], 0x19
mov byte [eax + 2], 0xba
mov byte [eax + 3], 0x1f
mov byte [eax + 4], 0xb0
mov byte [eax + 5], 0x1d
mov byte [eax + 6], 0x4e
mov byte [eax + 7], 0xe3
mov byte [eax + 8], 0xe0
pop es
jecxz 0x4172a3
inc eax
or al, ah
mov byte [eax + 9], 0xe1
mov ecx, 0xa
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0xf
jne 0x4172e9
mov ecx, dword [esi + 0x38]
xor edi, edi
cmp edi, 0xf
jae 0x41736e
movzx ebx, byte [ecx + edi]
mov dword [esi + 0x2b8], ebx
mov edx, edi
add edx, 0x923871fa
mov eax, edi
add eax, 0xfa
and eax, ebx
mov dword [esi + 0x2f0], ecx
mov ecx, edx
or ecx, ebx
mov ebx, 0x6dc78e05
sub ebx, edi
xor eax, ecx
or ebx, eax
mov eax, ebx
xor eax, 0xffffffff
mov ecx, ebx
and ecx, 2
and ebx, 0xfd
xor ebx, 0xfd
imul ebx, ecx
mov ecx, eax
and ecx, 2
or eax, 2
imul eax, ecx
mov ecx, dword [esi + 0x2f0]
add eax, ebx
add edx, dword [esi + 0x2b8]
sub edx, eax
add dl, 0x1e
mov byte [ecx + edi], dl
add edi, 1
jmp 0x4172fa
mov eax, dword [esi + 0x20]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00417c10
add esp, 8
mov eax, dword [esi + 4]
mov dword [eax], 0x564caa99
jmp 0x4177ed
loopne 0x41740f
sar dword [ecx], 1
inc esi
pop edi
push 0xf2b18792
ror dword [ebx + 0x8b0846], cl
sub esp, 4
mov dword [esp], eax
call fcn.0043b790
add esp, 4
mov eax, dword [esi + 8]
mov dword [eax], 0
mov eax, dword [esi + 4]
mov dword [eax], 0xe6b26a6f
jmp 0x4177ed
add al, 0x8b
inc esi
or bh, al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0xc70446], cl
outsd dx, dword [esi]
push 0xffffffffffffffb2
out 0xe9, al
mov byte [ebx], 0
add byte [edx], dl
mov edi, 0x1a39924f
sub al, 0xa3
pop ebx
adc dword [ebx], edx
lea esi, [ecx*4 + 0x468b7de9]
add al, 0xc7
add byte [edx - 0x16eabcb5], ah
test al, 3
add byte [eax], al
out dx, al
cmp ah, byte [eax + 0x5b]
int1
and ecx, dword [ebp + 0x6f033137]
dec ebp
push dword [0x4277de2b]
adc dword [eax], 0xffffff8b
inc esi
add al, 0xc7
add byte [edi - 0xf], dl
imul ebp, ecx, 0xffffff86
add eax, dword [eax]
add bh, ch
cmc
mov eax, dword [0xf8038f5f]
pop ds
mov eax, dword [esi + 0xc]
sub esp, 4
mov dword [esp], eax
call fcn.00408260
add esp, 4
mov eax, dword [esi + 4]
mov dword [eax], 0xc95c91ef
jmp 0x4177ed
mov dl, 0xf7
in al, 0x55
adc ah, 0x52
mov eax, 0xcd536559
dec esi
mov ebp, ebx
shr byte [esi - 0x7485f6d1], 1
inc esi
push 0x8689008b
sbb byte [ebx], al
add byte [eax], al
mov al, byte [esi + 0xf4]
mov byte [esi + 0x1bc], al
mov byte [esi + 0xf8], 0xb
mov byte [esi + 0xf9], 0xa
mov byte [esi + 0xfa], 0xd
mov byte [esi + 0xfb], 0xc
mov eax, 4
mov byte [esi + eax + 0xf8], 0
add eax, 1
cmp eax, 7
jne 0x417536
xor eax, eax
cmp eax, 7
jae 0x41756a
mov cl, byte [esi + eax + 0xf8]
mov dl, al
add dl, 0x42
xor dl, cl
add dl, 0xb6
mov byte [esi + eax + 0xf8], dl
add eax, 1
jmp 0x417548
mov eax, dword [esi + 0xf8]
mov dword [esi + 0x2d8], eax
xor edi, edi
cmp edi, dword [0x44d268]
jb 0x417582
jmp 0x4175da
mov eax, dword [0x44d26c]
cmp dword [eax + edi*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x417598
jmp 0x4175ce
mov eax, dword [eax + edi*8 + 4]
cmp eax, dword [esi + 0x2d8]
je 0x4175ce
mov ecx, dword [0x44d270]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esi + 0x318]
mov dword [esp + 0xc], eax
call fcn.0043de40
add esp, 0x10
test bl, 1
je 0x4175d5
jmp 0x4175da
add edi, 1
jmp 0x417578
mov eax, dword [esi + 4]
mov dword [eax], 0x6556b7a9
jmp 0x4177ed
push dword [ebx]
push eax
dec esi
hlt
jmp 0x413284