Function at 0x41832d
Capabilities:
Encode data using base64
Encrypt data using speck

Disassembly:
movzx edi, word [esi]
mov dword [ebp - 0x18], edi
test edi, edi
je 0x417c27
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [ebp + 0x2c], 0
je 0x417328
cmp edx, eax
ja 0x4546a9
mov eax, dword [ebp - 0xa8]
cmp edx, eax
jb 0x41824a
mov ecx, edx
sub ecx, eax
mov eax, dword [ebp + 0x2c]
sar ecx, 1
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x454601
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov dword [ecx], eax
test ebx, ebx
je 0x417336
mov ecx, dword [ebp - 0xb0]
cmp ebx, ecx
ja 0x4175b7
mov edx, dword [ebp - 8]
jmp 0x41733f
mov ecx, dword [ebp + 0x28]
cmp dword [ecx + 0x20], eax
ja 0x4546a9
jmp 0x417348
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 8], edx
mov ecx, dword [ebp + 0x28]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0x30], 0
jne 0x451c19
mov edx, dword [ebp - 0x34]
mov ebx, edx
and ebx, 8
mov dword [ebp - 0x68], ebx
jne 0x418254
push 0x2a
pop eax
cmp edi, eax
je 0x41787d
push 0x2b
pop eax
cmp edi, eax
je 0x41787d
push 0x3f
pop eax
cmp edi, eax
je 0x41787d
push 0x7b
pop eax
cmp edi, eax
je 0x451d89
xor eax, eax
cmp dword [ebp - 0x78], eax
mov ecx, eax
mov eax, dword [ebp - 0x60]
jne 0x451da1
test edx, 0x4000
jne 0x451de2
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp edi, eax
ja 0x41752b
je 0x417afd
mov eax, edi
xor ecx, ecx
sub eax, ecx
je 0x41755b
sub eax, 0x24
je 0x4528e3
sub eax, 4
je 0x4178eb
dec eax
je 0x41755b
dec eax
je 0x417c58
dec eax
je 0x41825e
sub eax, 3
je 0x417fe9
cmp dword [ebp - 0x3c], 0
mov edx, dword [ebp - 0xc]
mov ebx, edx
mov word [ebp - 0xf8], di
je 0x417421
mov eax, edi
mov ecx, 0xfc00
and eax, ecx
cmp eax, 0xd800
je 0x4533d8
push 2
pop esi
cmp dword [ebp - 0x3c], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x34]
je 0x417481
test dl, al
je 0x417481
movzx ecx, di
mov edx, 0xfc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x45441e
mov eax, ecx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, byte [eax + 0x4b3b40]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a5840]
movzx eax, byte [eax*8 + 0x4a2f53]
test eax, eax
jne 0x417f71
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0xc]
test cl, al
mov edi, dword [ebp - 8]
push 0
pop eax
setne al
push 0x1d
pop ecx
add eax, ecx
mov word [edi], ax
add edi, esi
mov dword [ebp - 8], edi
test ebx, ebx
je 0x4174ba
mov ecx, ebx
lea esi, [ebp - 0xf8]
shr ecx, 1
rep movsd dword es:[edi], dword [esi]
adc ecx, ecx
rep movsw word es:[edi], word [esi]
mov edi, dword [ebp - 8]
lea edi, [edi + ebx*2]
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x18]
push 0xd
pop ecx
cmp ax, cx
je 0x45444a
push 0xa
pop ecx
cmp ax, cx
je 0x45444a
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
je 0x41783d
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x58], eax
cmp ebx, dword [ebp - 0xc]
jne 0x454485
add eax, dword [eax]
movzx eax, word [edi - 2]
mov dword [ebp - 0x5c], eax
mov eax, dword [ecx + 0x68]
or eax, dword [ebp - 0x8c]
mov dword [ebp - 0x54], eax
mov ebx, dword [ebp - 0x10]
mov esi, dword [ebp - 4]
mov edx, dword [ebp - 8]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x4172b4
mov eax, edi
sub eax, 0x5b
je 0x4175ee
dec eax
je 0x417888
dec eax
je 0x4533ba
add byte [eax + 0xf], cl
test byte [eax - 0x42], cl
add eax, dword [eax]
dec eax
je 0x453393
sub eax, 0x1d
je 0x4528f7
dec eax
jne 0x4173fb
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x64]
mov ebx, dword [ebp + 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x2c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x54]
mov dword [eax], ecx
mov eax, dword [ebp - 0x140]
mov dword [eax], edx
mov eax, dword [ebp + 8]
mov dword [eax], esi
test ebx, ebx
je 0x4175ad
sub edx, dword [ebp - 0xa8]
mov ecx, 0x7fffffeb
mov eax, dword [ebx]
sub ecx, eax
sar edx, 1
cmp ecx, edx
jl 0x454601
lea ecx, [eax + edx]
mov dword [ebx], ecx
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 8]
sub eax, ebx
and eax, 0xfffffffe
push eax
push ebx
push ecx
call fcn.00428020
sub ebx, dword [ebp - 0xb0]
add esp, 0xc
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 4]
sar ebx, 1
neg ebx
lea edx, [edx + ebx*2]
mov ebx, dword [ebp - 0xb0]
mov dword [ebp - 8], edx
mov dword [ebp - 0x10], ebx
jmp 0x41733f
lea edi, [esi + 2]
mov edx, 0x48fbb8
push 6
mov ecx, edi
call fcn.00418395
pop ecx
test eax, eax
je 0x453c31
push 6
mov edx, 0x48fbb0
mov ecx, edi
call fcn.00418395
pop ecx
test eax, eax
je 0x453c3e
mov eax, dword [ebp - 8]
push 0x3a
mov dword [ebp - 0x10], eax
movzx eax, word [edi]
pop ebx
cmp ax, bx
je 0x453c4b
push 0x2e
pop ecx
cmp ax, cx
je 0x453c4b
push 0x3d
pop ecx
cmp ax, cx
je 0x453c4b
xor eax, eax
push 2
mov dword [ebp - 0x24], eax
pop edi
push 0x5c
pop ecx
push 0x45
pop edx
add esi, edi
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x18], ebx
cmp ebx, ecx
je 0x4181b3
test eax, eax
jne 0x41767a
cmp ebx, 0x5e
je 0x453c79
push 0x5d
pop ecx
cmp ebx, ecx
je 0x453c84
mov edi, dword [ebp - 8]
xor edx, edx
push 0x20
pop eax
push eax
add edi, 6
mov dword [ebp - 0x28], edx
push edx
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x68], edx
push eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x38], edx
call fcn.00423020
mov esi, dword [ebp - 4]
add esp, 0xc
test ebx, ebx
je 0x454329
cmp dword [ebp - 0x3c], 0
je 0x4176e0
mov eax, ebx
mov ecx, 0xfc00
and eax, ecx
mov edx, 0xd800
cmp eax, edx
je 0x453cc9
mov edx, dword [ebp + 0x2c]
test edx, edx
je 0x4176f2
mov ecx, dword [ebp - 0x80]
cmp edi, ecx
ja 0x453d00
cmp dword [ebp - 0x30], 0
jne 0x453d19
cmp ebx, 0x5b
je 0x453d40
push 0x5c
pop eax
cmp ebx, eax
je 0x4181df
mov edx, dword [ebp + 0xc]
xor ecx, ecx
push 0x5c
pop edi
cmp word [esi + 2], di
je 0x4182d0
push 0xd
pop eax
mov ecx, esi
cmp ebx, eax
je 0x4541cb
push 0xa
pop eax
cmp ebx, eax
je 0x4541cb
mov edi, dword [ebp - 0x30]
test edi, edi
jne 0x41774e
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x417ecd
mov eax, dword [ebp - 0x58]
push 2
pop ecx
cmp eax, ecx
jl 0x417834
cmp dword [ebp - 0x30], 0
jne 0x41776d
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x417aeb
push ebx
push ebx
push dword [ebp + 0x28]
push dword [ebp - 0x34]
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0xd4]
call fcn.00418305
add esp, 0x10
add dword [ebp - 0x20], eax
mov edi, dword [ebp - 0x14]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x28]
push 2
pop ebx
add esi, ebx
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x18], ebx
test ebx, ebx
je 0x454305
cmp ebx, 0x5d
jne 0x4176c4
test eax, eax
jne 0x4176c4
mov esi, dword [ebp - 0x80]
mov eax, dword [ebp - 0xc]
cmp edi, esi
ja 0x4177cc
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x2c]
cmp ebx, 0xfffffffe
je 0x417f9b
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x6c], ebx
mov ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x28], ebx
mov ebx, dword [ebp - 0x54]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x58], ebx
test eax, eax
jne 0x45449a
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x417805
sub edi, esi
sar edi, 1
add dword [ebx], edi
mov ecx, dword [ebp - 0x24]
xor eax, eax
mov edi, dword [ebp - 8]
cmp ecx, edx
push 0x6e
pop edx
setne al
add eax, edx
push 2
pop edx
mov word [edi], ax
add edi, edx
test ebx, ebx
je 0x417c37
push 0x20
pop eax
add edi, eax
mov dword [ebp - 8], edi
jmp 0x417515
inc eax
mov dword [ebp - 0x58], eax
jmp 0x41775c
mov edx, dword [ebp - 0x5c]
or dword [ebp - 0x6c], 0xffffffff
mov dword [ebp - 0x28], edx
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 0xc]
cmp ebx, edx
jne 0x454459
movzx eax, ax
cmp ebx, edx
mov edx, dword [ebp - 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x2c], eax
jne 0x454473
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
jmp 0x41751e
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x60]
jmp 0x41739f
xor ebx, ebx
mov dword [ebp - 0x70], esi
mov esi, dword [ebp + 0x28]
lea edx, [ebp - 0x94]
push ebx
push dword [ebp - 0x34]
lea ecx, [ebp - 4]
push dword [esi + 0x40]
push dword [ebp + 0xc]
call fcn.004183c4
mov edx, dword [ebp + 0xc]
add esp, 0x10
mov edi, eax
cmp dword [edx], ebx
jne 0x4182fd
test edi, edi
jne 0x418034
cmp dword [ebp - 0x94], 0xffff
ja 0x453406
mov di, word [ebp - 0x94]
mov edx, dword [ebp - 0xc]
mov word [ebp - 0xf8], di
mov ebx, edx
mov dword [ebp - 0x18], edi
jmp 0x417421
push 2
pop ebx
add esi, ebx
push 0x3f
mov dword [ebp - 4], esi
pop eax
movzx edx, word [esi]
cmp dx, ax
je 0x417c62
push 0x2a
pop eax
cmp dx, ax
je 0x451e82
mov ebx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], ecx
push 0x3f
mov ecx, dword [ebx + 0x20]
sub ecx, dword [ebx + 0x10]
sar ecx, 1
mov dword [ebp - 0x88], ecx
xor ecx, ecx
pop edi
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], 0x85
mov dword [ebp - 0x38], ecx
cmp dx, di
je 0x417c74
test eax, 0x1000
jne 0x418270
mov edx, dword [ebp - 8]
inc dword [ebx + 0x40]
mov ax, word [ebx + 0x40]
mov word [edx + 4], ax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x20], eax
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x1c]
push 0x52
pop edi
mov eax, dword [ebp + 0x28]
inc dword [eax + 0x58]
cmp dword [eax + 0x58], 0xfa
jg 0x4182f3
lea eax, [ebx - 0x7d]
xor ecx, ecx
cmp eax, 3
mov eax, dword [ebp + 0x28]
jbe 0x453678
mov dword [ebp - 0x10], edx
mov word [edx], bx
mov edi, dword [eax + 0x68]
mov esi, dword [eax + 0x40]
mov eax, dword [ebp + 0x2c]
neg eax
mov dword [ebp - 0x84], ecx
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x44], edx
sbb eax, eax
mov dword [ebp - 0x74], edi
and eax, ecx
mov ecx, 0x87
cmp ebx, ecx
je 0x418294
xor ecx, ecx
mov edx, ecx
cmp ebx, 0x7f
je 0x41829e
cmp ebx, 0x80
je 0x41829e
push eax
push dword [ebp + 0x28]
lea eax, [ebp - 0xa0]
push dword [ebp + 0x20]
push eax
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0xd8]
push eax
mov eax, dword [ebp + 0x24]
add eax, edx
lea edx, [ebp - 0x44]
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 4]
push dword [ebp - 0x38]
push ecx
push dword [ebp + 0xc]
mov ecx, dword [ebp - 0x4c]
push eax
call fcn.00416db8
add esp, 0x34
test eax, eax
je 0x4182fd
mov eax, dword [ebp + 0x28]
mov ecx, 0x81
dec dword [eax + 0x58]
cmp ebx, ecx
je 0x45368c
mov esi, dword [ebp - 8]
push 0x7d
pop ecx
cmp ebx, ecx
jl 0x417a4e
add ecx, 3
cmp ebx, ecx
jle 0x4182a6
mov eax, 0x87
cmp ebx, eax
je 0x4536a5
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x45463b
mov edx, dword [ebp + 0x2c]
test edx, edx
jne 0x417fa6
mov edx, dword [ebp - 0x44]
mov dword [ebp - 8], edx
cmp ebx, 0x91
je 0x417875
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], ecx
xor ecx, ecx
mov dword [ebp - 0x98], ecx
mov ecx, 0x81
cmp ebx, ecx
mov ecx, dword [ebp - 0xa4]
jl 0x453735
cmp dword [ebp - 0x2c], 0xfffffffe
je 0x45370d
test ecx, ecx
jns 0x418227
test eax, eax
js 0x417875
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x54], eax
jmp 0x417875
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x41776d
jmp 0x454337
mov edx, dword [ebp - 0xc]
xor eax, eax
mov edi, eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x40], edx
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x4182ec
test edi, edi
jne 0x417b34
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x54], eax
mov eax, edi
mov dword [ebp - 0x44], ecx
sub eax, edx
neg eax
sbb eax, eax
and eax, 2
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x20], eax
test ebx, ebx
jne 0x41827a
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop ebx
cmp ax, bx
je 0x452a0b
push 0x3f
pop ebx
cmp ax, bx
je 0x418100
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x10]
push 0x75
pop ecx
cmp word [eax], cx
je 0x452a22
movzx ecx, word [eax]
cmp cx, word [ebp - 0x104]
je 0x452fdb
cmp cx, word [ebp - 0x134]
je 0x452fdb
cmp cx, word [ebp - 0x10c]
je 0x452fdb
cmp cx, word [ebp - 0x14c]
je 0x452fdb
cmp cx, word [ebp - 0x114]
jb 0x418110
cmp cx, word [ebp - 0x13c]
jne 0x417d73
test edx, edx
je 0x418282
test edi, edi
jne 0x452f8c
cmp edx, 0xffffffff
jne 0x417ebc
lea eax, [ebx + 0x62]
mov edi, dword [ebp - 8]
push 2
pop ebx
mov word [edi], ax
add edi, ebx
mov esi, dword [ebp - 4]
xor edx, edx
mov dword [ebp - 8], edi
cmp dword [ebp - 0x20], 0
jne 0x453234
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov ebx, eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x10], ebx
or dword [ecx + 0x68], eax
jmp 0x41751b
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x4172c2
jmp 0x451c04
test ecx, ecx
jne 0x4182e2
push 0x20
pop eax
push eax
lea eax, [ebp - 0xd4]
push eax
push edi
call fcn.00421080
add esp, 0xc
jmp 0x417827
mov edi, ecx
or edx, 0xffffffff
jmp 0x417b04
push 0x23
pop eax
cmp word [esi + 2], ax
jne 0x417902
jmp 0x451e2d
push 2
pop edx
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
mov eax, edi
cmp eax, 0x3a
jle 0x4520be
sub eax, 0x3c
je 0x4526ec
dec eax
je 0x452626
dec eax
je 0x45261d
sub eax, 5
je 0x452678
sub eax, 0xd
je 0x45263e
sub eax, edx
je 0x418266
sub eax, 0x2a
je 0x452610
mov eax, ecx
mov edx, ecx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x4c], edx
cmp di, word [ebp - 0x118]
je 0x417d12
push 2
pop edx
push 0x3a
pop eax
cmp di, ax
je 0x417d0c
movzx eax, di
add esi, edx
mov dword [ebp - 4], esi
cld
cmp eax, 0x69
jg 0x453625
jne 0x4535de
mov eax, dword [ebp - 0xc]
or dword [ecx], eax
movzx edi, word [esi]
push 0x29
pop eax
cmp di, ax
jne 0x417cdd
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
or edx, dword [ebp - 0x34]
not eax
and edx, eax
push 0x29
pop eax
mov dword [ebp - 0x4c], edx
cmp word [esi], ax
jne 0x41828a
mov eax, dword [ebx + 0x14]
push 4
pop ecx
inc ebx
adc al, 0x6a
add al, 0x59
add eax, ecx
cmp dword [ebp - 8], eax
je 0x453653
mov ecx, dword [ebp - 0xc]
mov eax, edx
shr eax, 9
and eax, ecx
mov dword [ebp - 0xdc], eax
xor eax, ecx
mov dword [ebp - 0xe8], eax
movsx eax, dl
and eax, ecx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x34], edx
mov dword [eax], edx
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x10], ebx
jmp 0x41751b
cmp cx, word [ebp - 0x11c]
je 0x417bd9
cmp cx, word [ebp - 0x150]
je 0x417bd9
cmp cx, word [ebp - 0x124]
je 0x417bd9
cmp ecx, 0x72
je 0x417bd9
cmp cx, word [ebp - 0xfc]
je 0x417bd9
cmp ecx, 0x74
je 0x417bd9
push 0x7d
pop edi
cmp cx, di
jb 0x452f70
add edi, 0xa
cmp cx, di
ja 0x452f70
mov ebx, dword [ebp - 0x88]
mov edi, dword [ebp - 8]
mov dword [ebp - 0x14], ebx
sub edi, eax
xor ebx, ebx
sar edi, 1
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x4c], ebx
mov ebx, 0x87
cmp cx, bx
mov dword [ebp - 0x18], edi
mov ebx, dword [ebp - 0x1c]
je 0x452aa2
mov eax, 0x81
cmp cx, ax
mov eax, dword [ebp - 0x50]
jb 0x452ab9
mov ecx, dword [ebp - 0xc]
test eax, eax
jne 0x452b3e
mov eax, dword [ebp - 8]
push dword [ebp - 0x88]
push dword [ebp + 0x28]
push dword [ebp - 0x3c]
cmp edx, ecx
jg 0x452aea
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov word [eax], cx
mov ecx, dword [ebp - 0x10]
call fcn.004186a1
mov ecx, dword [ebp - 0x10]
lea eax, [edi + edi]
add esp, 0xc
lea esi, [ecx + 2]
push eax
push ecx
push esi
call fcn.00428020
mov edx, dword [ebp - 0x40]
add esp, 0xc
push 2
pop eax
add dword [ebp - 8], eax
test edx, edx
je 0x452ada
mov ecx, dword [ebp - 0x10]
lea eax, [ebx + 0x92]
mov dword [ebp - 0x4c], ecx
mov word [ecx], ax
mov dword [ebp - 0x10], esi
dec edx
mov esi, dword [ebp - 4]
mov dword [ebp - 0x40], edx
test edx, edx
js 0x452e2b
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
jne 0x4181a6
lea ebx, [edx - 1]
test ebx, ebx
jns 0x452ccb
xor edi, edi
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x24]
test ebx, ebx
jne 0x452ddb
mov edi, dword [ebp - 8]
xor edx, edx
push 2
pop ebx
jmp 0x417c08
cmp edx, dword [ebp - 0xc]
jne 0x452f9e
lea eax, [ebx + 0x66]
jmp 0x417bf5
push 4
pop eax
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
je 0x4541da
movzx eax, word [esi]
test ax, ax
je 0x4182d8
test edi, edi
jne 0x417f00
push 0x5d
pop edi
cmp ax, di
je 0x4182d8
cmp dword [ebp - 0x3c], 0
mov edi, eax
mov dword [ebp - 0x18], edi
je 0x417f1f
mov ecx, 0xfc00
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
je 0x454249
cmp dword [ebp - 0x30], 0
jne 0x417f39
push 0x5c
pop eax
cmp edi, eax
je 0x45426e
cmp edi, 0x5b
je 0x4542b6
mov ecx, dword [ebp + 0xc]
cmp edi, ebx
jb 0x4546a1
je 0x41774e
push 2
pop eax
push 0xd
mov dword [ebp - 0x58], eax
pop eax
cmp edi, eax
je 0x4542f6
push 0xa
pop eax
cmp edi, eax
je 0x4542f6
mov eax, dword [ebp + 0x28]
push edi
push ebx
push eax
jmp 0x417772
mov edx, dword [ebp - 8]
push 0x10
pop ecx
push 9
mov word [edx], cx
add edx, esi
pop ecx
mov word [edx], cx
add edx, esi
mov word [edx], ax
add edx, esi
cmp dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 8], edx
jne 0x417872
jmp 0x45443d
or ebx, 0xffffffff
mov dword [ebp - 0x2c], ebx
jmp 0x4177d8
mov edi, dword [ebp - 0x84]
mov ecx, 0x7fffffeb
mov edx, dword [edx]
sub ecx, edx
lea eax, [edi - 4]
cmp ecx, eax
jl 0x454601
mov ecx, dword [ebp + 0x2c]
lea eax, [edi - 4]
mov edi, dword [ebp - 8]
add eax, edx
push 2
mov dword [ecx], eax
pop ecx
add edi, ecx
push 0x78
pop eax
mov word [edi], cx
add edi, ecx
mov word [edi], ax
add edi, ecx
mov word [edi], cx
add edi, ecx
jmp 0x41782c
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x417ff7
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x64]
mov ebx, edx
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x34]
push 4
mov dword [ebp - 0x6c], ecx
pop ecx
movsx eax, al
and eax, ecx
mov dword [ebp - 0x28], edi
push 0x30
pop ecx
or eax, ecx
shr eax, 2
mov dword [ebp - 0x10], ebx
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
jmp 0x417518
cmp edi, 0x1a
je 0x453438
cmp edi, 0x19
je 0x417515
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x41805c
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x41805c
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x54]
push 0x1b
mov dword [ebp - 0x58], eax
pop eax
mov dword [ebp - 0x6c], ecx
cmp edi, eax
je 0x453460
push 0x1c
pop eax
cmp edi, eax
je 0x453763
test edi, edi
js 0x4182ae
push 0xf
pop eax
cmp edi, eax
je 0x453bca
push 0x10
pop eax
cmp edi, eax
je 0x453bca
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x453b98
push 4
pop eax
cmp edi, eax
je 0x453b98
cmp edi, ecx
je 0x453b98
push 0x1d
pop eax
cmp edi, eax
jge 0x453ba9
mov edx, dword [ebp - 8]
lea eax, [edi - 6]
push 0x10
pop ecx
cmp ecx, eax
sbb ebx, ebx
not ebx
and ebx, edx
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 0x10], ebx
je 0x453bb7
push 2
mov word [edx], di
pop esi
add edx, esi
mov dword [ebp - 8], edx
mov esi, dword [ebp - 4]
jmp 0x41751e
mov ebx, dword [ebp - 0xe8]
mov esi, ecx
mov dword [ebp - 4], esi
jmp 0x417b76
push 0x34
pop edi
mov ebx, ecx
mov ecx, dword [ebp - 0x10]
push 0x10
pop edx
movzx eax, word [ecx]
cmp ax, dx
je 0x45308e
push 0xf
pop edx
cmp ax, dx
je 0x45308e
or dword [ebp - 0x14], 0xffffffff
or edx, 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 8]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x24], edx
test eax, eax
je 0x417c12
add dword [ebp - 0x1c], edi
cmp dword [ebp - 0x50], 0
jne 0x4530ca
cmp eax, 0xffffffff
jne 0x45309e
mov eax, dword [ebp - 0x1c]
add eax, 0x21
mov ecx, dword [ebp - 0x10]
mov word [ecx], ax
lea edi, [ecx + 2]
mov esi, dword [ebp - 0x14]
push 2
pop ecx
cmp dword [ebp - 0x3c], 0
je 0x41818e
test ebx, 0x10000000
jne 0x45320f
mov word [edi], bx
add edi, ecx
mov dword [ebp - 8], edi
test edx, edx
jns 0x452fc9
mov esi, dword [ebp - 4]
jmp 0x417eb2
test edx, edx
jle 0x417e94
jmp 0x452c84
lea ecx, [esi + 2]
cmp word [ecx], dx
je 0x4182b5
push 3
mov edx, 0x48fbc0
call fcn.00418395
pop ecx
test eax, eax
jne 0x417685
mov eax, dword [ebp - 0x24]
add esi, 6
jmp 0x417654
push dword [ebp - 0xc]
mov ebx, dword [ebp + 0x28]
lea edx, [ebp - 0x94]
push dword [ebp - 0x34]
lea ecx, [ebp - 4]
push dword [ebx + 0x40]
push dword [ebp + 0xc]
call fcn.004183c4
mov edx, dword [ebp + 0xc]
xor ecx, ecx
add esp, 0x10
mov esi, eax
cmp dword [edx], ecx
jne 0x4182fd
test esi, esi
jne 0x4182bf
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x18], ebx
jmp 0x417715
test eax, eax
jns 0x417ada
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xac], eax
mov eax, ecx
or eax, edi
mov dword [ebp - 0xa0], eax
jmp 0x417ad2
mov edx, eax
mov dword [ebp - 8], edx
jmp 0x4172ef
mov ebx, 0xff
jmp 0x451ca5
mov edi, dword [ebp - 0xc]
jmp 0x417c5a
add esi, edx
mov dword [ebp - 4], esi
jmp 0x452603
mov ebx, 0x83
jmp 0x45366d
add esi, 2
jmp 0x452930
mov dword [ebp - 8], eax
jmp 0x417c12
mov ebx, 0x83
jmp 0x452631
mov edx, dword [ebp - 0xc]
xor ecx, ecx
jmp 0x4179d9
mov ecx, dword [ebp - 0xc]
jmp 0x4179d9
dec dword [eax + 0x5c]
jmp 0x417a4e
neg edi
jmp 0x453b1e
push 0x5c
mov esi, ecx
pop ecx
jmp 0x41765a
cmp esi, 5
jne 0x453f45
push 8
pop ebx
jmp 0x41821c
push 0x45
pop ebx
jmp 0x4541ab
mov esi, ecx
mov dword [ebp - 4], esi
jmp 0x41774e
push 0x20
xor eax, eax
pop ecx
jmp 0x454548
push 9
jmp 0x454681
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
jmp 0x4546b2
mov esi, dword [ebp - 4]
jmp 0x4546b2
test al, 1
jne 0x4546be
and eax, 0x800
mov dword [ebp + 8], eax
je 0x4547ab
cmp esi, ebx
ja 0x418372
mov eax, ebx
inc ecx
sub eax, esi
mov edi, esi
add ecx, eax
mov dword [ebp - 4], ecx
mov ecx, edi
mov edx, edi
and ecx, 7
shr edx, 3
mov al, 1
shl al, cl
mov ecx, dword [ebp - 8]
or byte [edx + ecx], al
inc edi
cmp edi, ebx
jbe 0x418353
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
cmp esi, 0xff
ja 0x41837f
mov esi, 0x100
cmp edi, esi
jae 0x4547c2
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x78
mov word [ecx], ax
pop ecx
mov word [esi + 4], cx
mov ecx, dword [esp + 0x10]
mov word [esi + 6], ax
add esi, 8
add ecx, 4
jmp 0x802d7065
add dword [eax], eax
push esi
mov esp, dword [esi - 0x77]
adc byte [ebx], ch
jno 0x451cc7
xor ecx, ecx
push 2
pop edx
add eax, edx
sar esi, 1
mov word [eax], si
mov word [eax + 2], cx
add eax, 4
mov esi, dword [ebp - 4]
mov dword [ebp - 8], eax
clc
jmp 0x417423
cmp edi, ebx
ja 0x451cec
mov eax, dword [ecx + 0xc]
push 2
pop edx
test byte [eax + edi], 1
je 0x451ce9
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
cmp edi, ebx
jbe 0x451cd7
mov dword [ebp - 0x18], edi
push 0x23
pop eax
cmp edi, eax
jne 0x451da3
push 2
pop edx
jmp 0x956d90
movzx edi, word [esi]
jmp 0x451ccd
and al, 0xc
cmp ax, di
jne 0x451d95
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
test di, di
jne 0x60451cff
jmp 0x451d38
mov ebx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x18], edi
jmp 0x89b7738b
pop edx
cld
invalid
mov ebp, dword [edx + 2]
mov word [eax], dx
pop edx
add eax, edx
mov edx, dword [ebp + 0x28]
sub esi, dword [edx + 0x18]
sar esi, 1
xor edx, edx
mov word [eax + 2], dx
lea edx, [eax + 4]
mov word [eax], si
mov esi, dword [ebp - 4]
mov dword [ebp - 8], edx
jmp 0x802d73d6
mov dword [eax], 0x12
jmp 0x509546da
mov ebx, dword [ebp - 0x10]
jmp 0x417543
adc byte [eax], al
add bl, ch
push es
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x70], eax
mov esi, dword [ebp - 4]
push 9
pop eax
cmp dword [ebp - 0x18], eax
jl 0x451ea2
push 0x3c
jmp 0xf4546a6
clc
mov eax, 0x505091
mov ebx, dword [ebp - 0x1c]
mov word [edx + 4], ax
mov eax, dword [ebp - 0xc]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x20], eax
jmp 0x802d7990
loopne 0x4525ee
xchg dword [ebx - 0x18], edx
jg 0x452674
sub ebx, dword [edx + 0x3b]
ret 0x1b74
push 0x2d
pop edx
cmp eax, edx
je 0x45262b
cmp eax, 0x2f
jle 0x417cec
push esi
cld
jmp [edx + 0x39]
push 0x39
pop edx
cmp eax, edx
jg 0x802d7cec
pop ecx
push esi
call 0x586e90ad
push 0x29
pop eax
mov ebx, eax
mov dword [ebp - 0x4c], ebx
jmp 0x50953533
pop ebp
mov ah, 0xe9
sti
push cs
push eax
push eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x38], eax
mov ebx, 0x10083
jmp 0x45264a
add esi, edx
jmp 0x45265e
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x453695
je 0xffba211e
je 0x452679
jmp [edx + 0x3e]
push 0x3e
pop eax
cmp di, ax
je 0x452695
push 0x3c
pop ecx
cmp di, cx
je 0x452748
push 0x29
jmp 0x509546a6
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x18], eax
jmp 0x8c452121
cmp ax, word [ebp - 0x8b0090]
ja 0x4526f1
imul ecx, ecx, 0xa
add esi, ebx
movzx eax, ax
add eax, 0xffffffd0
mov dword [ebp - 4], esi
add ecx, eax
movzx eax, word [esi]
cmp ax, di
jae 0x4526d0
mov ebx, dword [ebp + 0x28]
push 0x29
pop eax
cmp word [esi], ax
jne 0x4545e8
mov eax, 0x8b560001
cmp ecx, eax
jle 0xffba2181
push 0x26
jmp 0x4646a6
push 0x3c
pop eax
xor ecx, ecx
cmp di, ax
push 0x17
setne cl
add esi, edx
pop eax
dec ecx
mov dword [ebp - 4], esi
and ecx, eax
mov ebx, esi
push 0x27
pop eax
add ecx, eax
mov dword [ebp - 0x24], ebx
movzx eax, word [esi]
push 0x30
pop edx
cmp ax, dx
jb 0x45277f
push 0x39
pop edx
cmp ax, dx
jbe 0x4545ab
dec ebp
jge 0x4527aa
mov edx, 0x8b560001
cmp ax, dx
ja 0x4527af
mov edx, dword [edi + 0xc]
push 2
pop ebx
movzx eax, ax
test byte [eax + edx], 0x10
je 0x4527ac
add esi, ebx
mov dword [ebp - 4], esi
movzx eax, word [esi]
cmp ax, word [ebp + 0xcfffd4c]
jbe 0x452792
mov ebx, dword [ebp - 0x24]
mov edx, esi
sub edx, ebx
sar edx, 1
cmp dword [ebp + 0x2c], 0
mov dword [ebp - 0x14], edx
je 0x509528e4
mov eax, dword [edi + 0x40]
inc eax
mov dword [ebp - 0x18], eax
cmp word [esi], cx
jne 0x454612
cmp dword [edi + 0x30], 0xfffc2710
jge 0x454604
lea eax, [edx + 2]
cmp eax, dword [edi + 0x34]
jle 0x4527f8
push 0x20
mov dword [edi + 0x34], eax
pop eax
cmp edx, eax
jle 0x4527f8
push 0x30
jmp 0x4546a6
dec ebp
dec ebp
sub byte [ebx], dh
ror byte [ebx - 0x2774d781], 0x39
inc ecx
xor byte [esi + 0x5d], bh
cmp edx, dword [edi + 4]
jne 0x45284b
mov ecx, dword [ebp - 0x24]
push edx
mov edx, dword [edi]
call fcn.0048ea20
pop ecx
cld
push dword [ebp + 0x2c]
mov eax, dword [ebp - 0x18]
cmp dword [edi + 8], eax
je 0x452861
test dword [ebp - 0x34], 0x80000
je 0x4545ef
dec ebp
dec ebp
sub byte [ebx + 0x4189f445], cl
js 0x4527c6
mov edx, dword [ebp - 0x14]
push ebp
in al, dx
inc ebx
add edi, 0xc
cmp ebx, dword [ecx + 0x30]
jl 0x452807
jmp 0x452864
mov eax, dword [ebp - 0x18]
cmp dword [edi + 8], eax
jne 0x45283a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50000041
jmp 0x4546da
dec ebp
dec ebp
sub byte [ebx], bh
pop ecx
xor byte [ebx + 0x7b7c285d], cl
cmp ebx, dword [ecx + 0x30]
mov ebx, dword [ebp + 0x28]
jl 0x4528e7
mov eax, dword [ebx + 0x38]
cmp dword [ebx + 0x30], eax
jl 0x4528b3
lea edi, [eax + eax]
imul eax, edi, 0xc
push eax
call dword [0x4a574c]
mov esi, eax
pop ecx
test esi, esi
je 0x4545f6
imul eax, dword [ebx + 0x38], 0xc
push eax
push dword [ebx + 0x28]
push esi
call 0x89b810a8
jmp 0x7bc83563
imul ecx, dword [ebx + 0x30], 0xc
mov eax, dword [ebx + 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ecx + eax], edx
imul ecx, dword [ebx + 0x30], 0xc
mov eax, dword [ebx + 0x28]
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax + 4], edx
imul ecx, dword [ebx + 0x30], 0xc
mov eax, dword [ebx + 0x28]
mov edx, dword [ebp - 0x18]
mov dword [ecx + eax + 8], edx
inc dword [ebx + 0x30]
mov esi, dword [ebp - 4]
jmp 0x4528e7
add ecx, dword [ebx + 0x26a285d]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x802d7973
jmp 0x4528fe
mov edx, dword [ebp + 0x28]
push 4
inc dword [edx + 0x5c]
jmp 0x45265b
add cl, byte [ebp - 0x3f174fab]
mov ebp, 0xf08b0003
mov eax, dword [ebp + 0xc]
pop ecx
pop ecx
xor ecx, ecx
mov dword [ebp - 4], esi
cmp dword [eax], ecx
jne 0x4546da
dec ebp
push ebp
ror byte [ebx - 0x22164f83], 0x51
push 1
push 2
pop edx
movzx eax, word [esi]
mov edi, 0x8b560001
mov ebx, dword [ebp + 0x28]
cmp ax, di
ja 0x452981
mov ecx, dword [ebx + 0xc]
movzx eax, ax
test byte [eax + ecx], 1
je 0x452981
add esi, edx
movzx eax, word [esi]
cmp ax, di
jbe 0x45296e
push 0x23
pop eax
cmp word [esi], ax
je 0x452a20
mov edx, dword [ebp - 0x40]
add esi, 0xfffffffe
mov edi, dword [ebp - 0x50]
mov dword [ebp - 4], esi
jmp 0x802d7b7a
mov ax, word [esi]
mov ecx, 0xc245400
and ax, cx
mov ecx, 0xc24dc00
cmp ax, cx
jne 0x452a22
add esi, edx
movzx edi, word [esi]
test di, di
jne 0xffba299e
jmp 0xffba295b
mov eax, esi
mov esi, dword [ebp + 0x28]
push 2
sub eax, dword [esi + 0x14]
pop esi
add eax, esi
sar eax, 1
cmp edx, eax
jne 0x452abc
lea eax, [edx + 2]
mov word [ecx - 2], ax
mov dword [ecx - 2], eax
mov eax, dword [ebp - 0x10]
dec ebp
push ebp
ror byte [ebx - 0x1916038b], 0x50
call 0x50d6e64c
push eax
add byte [esi + 0x39], ah
pop eax
add al, 0x8b
pop ebp
in al, 0xf
test byte [esi + 0x51], bl
call 0x538a145e
mov esi, eax
jmp 0x51d4e27a
dec ebp
hlt
add byte [ebx - 0x497c3fab], cl
or al, 0x66
mov dword [esi], eax
mov eax, 0x10083
push 2
pop ecx
add esi, ecx
mov word [esi], ax
add esi, ecx
xor eax, eax
mov dword [ebp - 0x24], esi
mov word [esi], ax
add esi, ecx
jmp 0x89b77e9f
mov ecx, edx
call fcn.0048e10f
dec ebp
dec ebp
or al, 0x89
add esp, edi
dec dword [edi]
test dword [edi + edx*2], eax
call 0x289ab7a3
mov ecx, esi
sub ecx, edi
add ecx, dword [edx + 0x3c]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*2]
add eax, 0x1ffff38
cmp dword [edx + 0x20], eax
ja 0x452c0d
mov eax, dword [edx + 0x10]
lea edx, [eax + esi*2]
lea esi, [edi + edi]
add eax, esi
cmp edx, eax
jae 0x452c73
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp + 0x28]
mov cx, word [edx]
mov eax, dword [ebx + 0x20]
add cx, di
push 2
mov word [eax], cx
pop eax
add dword [ebx + 0x20], eax
add edx, eax
mov eax, dword [ebx + 0x10]
add eax, esi
cmp edx, eax
jb 0x452c50
mov edi, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebp - 8]
mov esi, edi
mov edi, dword [ebp - 0x18]
inc ebx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x38], ebx
lea eax, [eax + edi*2]
mov dword [ebp - 8], eax
js 0x452c0f
inc ebp
clc
mov eax, dword [ebp - 0x80]
cmp ebx, dword [ebp - 0x50]
jl 0xbc452bee
mov esi, dword [ebp - 4]
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x40]
jmp 0x6d33c74
jl 0x452cd8
cmp eax, 0x7fff74ff
ja 0x83804629
mov edx, dword [ebx]
mov eax, 0x7fff74eb
sub eax, edx
cmp eax, ecx
jl 0x83804629
lea eax, [edx + ecx]
mov dword [ebx], eax
jmp 0x802d7ec9
sal byte [edx - 0x2f], 1
mov edi, dword [ebp - 0x68]
dec ebx
mov eax, dword [ebp - 0x18]
dec ebp
push ebp
clc
mov esi, edi
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 8], edx
jns 0xe541ad0a
mov esi, dword [ebp - 4]
scasb al, byte es:[edi]
invalid
mov ecx, edx
sub ecx, ebx
sar ecx, 1
inc ecx
lea eax, [ecx + ecx]
sub edx, eax
movzx eax, word [edx + 2]
cld
push dword [ebp + 4]
mov ebx, edi
jmp 0x452e20
mov ecx, dword [ebx + 0x5e786af8]
push 2
mov word [eax], si
pop esi
add eax, esi
mov word [eax], cx
add eax, esi
mov word [edx + 2], cx
mov edx, eax
mov dword [ebp - 8], eax
test ebx, ebx
jne 0x452e03
jmp 0x452e4b
mov esi, dword [ebp - 4]
jmp 0x802d7ed7
push ebp
mov al, 0xf
lea ecx, [esi + 0x52]
call 0xfcbabafa
scasb al, byte es:[edi]
ror byte [ecx + 0x57e9e055], cl
dec edi
call 0xe48abb07
add eax, 0x79
jmp 0x452f90
add ecx, dword [edi]
mov dh, 0xc0
mov word [ecx], ax
jmp 0x4533b3
cmp ecx, eax
je 0x802d7c3a
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x5000000b
jmp 0x8b9b46da
lea eax, [ebx + 0x68]
push 2
mov word [ecx], ax
pop eax
add ecx, eax
push eax
mov dword [ebp - 8], ecx
lea eax, [edx + 1]
mov word [ecx], di
mov edi, ecx
pop ecx
add edi, ecx
neg eax
sbb eax, eax
and eax, edx
mov dword [ebp - 0x40], eax
mov word [edi], ax
jmp 0x452ff9
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x1af81c6
je 0x453083
lea edx, [ebx - 2]
mov ax, word [edx]
and ax, word [ebp + 0x5ffffed4]
cmp ax, word [ebp + 0x5ffffeb8]
jne 0x453083
mov ax, word [edx]
mov ecx, 0xc245400
and ax, cx
mov ecx, 0xc24dc00
cmp ax, cx
jne 0x45305d
push 2
pop eax
sub edx, eax
sub ebx, edx
sar ebx, 1
lea eax, [ebx + ebx]
push eax
push edx
lea eax, [ebp + 0x5ffffe7c]
push eax
call 0x802e10a8
mov esi, dword [ebp - 4]
je 0x45309b
inc esp
or ebx, 0x10000000
jmp 0x5fc9813d
movzx ebx, word [ebx - 2]
push 0x1e
pop eax
cmp cx, ax
ja 0x802d813d
xchg dword [edx - 0x748017b0], ebp
inc ebp
hlt
mov eax, dword [ebp - 0xc]
cmp dword [ebp - 0x50], eax
jle 0x802d813d
sahf
push eax
call 0x288abc21
jg 0x45302b
mov eax, dword [ebp + 0x28]
inc ebp
sub byte [ecx + 0x408ba45d], cl
push 0xff74850b
call [edi - 0x77]
inc ebp
lodsb al, byte [esi]
mov dword [ebp - 0x5c], ebx
mov eax, dword [eax + 0x68]
or eax, dword [ebp + 0x5fffff74]
mov dword [ebp - 0x54], eax
jmp 0x5fc9813d
inc ebp
hlt
mov dword [ebp - 0x40], ecx
push 2
cmp ecx, dword [ebp - 0xc]
jne 0x453221
add eax, 0x25
mov word [edi], ax
jmp 0x45322f
jmp 0x89ab59e6
pop ecx
add edi, ecx
jmp 0x1af81a4
dec edi
push 1
and ebx, 7
lea eax, [ebx + ebx]
push eax
lea eax, [ebp + 0x5ffffe7c]
push eax
push edi
call 0x802e10a8
mov edx, dword [ebp - 0x24]
lea edi, [edi + ebx*2]
je 0x453277
inc esp
push 2
pop ecx
jmp 0x802d81bb
cmp ecx, eax
jle 0x453292
push 0x29
pop eax
cmp ecx, eax
je 0x453292
cmp ecx, 0x36
je 0x453292
push 0x43
pop eax
cmp ecx, eax
jne 0x45332c
movzx eax, byte [ecx + 0x4a5750]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x44], esi
je 0x4532ab
je 0x8b9b332f
push esi
mov esp, dword [esi - 0x75]
inc ecx
invalid
mov ax, word [ecx - 2]
mov ecx, 0xc245400
and ax, cx
mov ecx, 0xc24d800
cmp ax, cx
jne 0x45332f
add dword [ebp - 0x44], ebx
jmp 0x45332f
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x44]
sub edi, ecx
sar edi, 1
test edi, edi
jle 0x5fc97c3a
movzx eax, word [ecx]
push 0x76
pop ebx
cmp eax, ebx
jae 0x453356
mov al, byte [eax + 0x4b8920]
test bh, bh
push ecx
test dword [edi], esi
jmp 0xb6452f62
push dword [ebp - 0x1b038088]
mov ebx, dword [ebp - 8]
xor eax, eax
push dword [ebp + 0x28]
push edx
push 2
pop esi
mov word [ebx], ax
mov edx, esi
mov ecx, dword [ebp - 0x44]
call 0x89b786c9
jmp 0x4d2403e
pop eax
add ebx, eax
mov eax, dword [ebp - 0x44]
push 0x78
mov word [eax], cx
pop eax
mov word [ebx], ax
add ebx, esi
mov word [ebx], di
add ebx, esi
mov eax, dword [ebp - 0x44]
mov dword [ebp - 8], ebx
mov word [eax + 2], di
mov esi, dword [ebp - 4]
jmp 0x5fc97c3a
pop edi
xor eax, eax
test byte [ebp - 0x34], 2
mov ebx, eax
mov dword [ebp - 0x10], ebx
je 0x4533da
cmp dword [ebp - 0x2c], 0xfffffffe
jne 0x4533d6
or dword [ebp - 0x2c], 0xffffffff
or dword [ebp - 0x6c], 0xffffffff
push 0x1c
jmp 0x4533dc
push 0x1b
pop eax
jmp 0x802d804c
mov eax, dword [esi]
and ax, cx
mov ecx, 0xc24dc00
cmp ax, cx
jne 0x802d744b
mov dword [ebp - 4], esi
mov ax, word [esi]
pop esi
mov word [ebp - 0x1b0380f6], ax
mov ebx, esi
jmp 0x802d744c
lea ebp, [edi + edi*8 - 1]
add ebx, ebp
add cl, byte [ebx + 0x8958dcb]
invalid
mov esi, dword [ebp - 4]
push 0x5c
pop eax
cmp word [esi + 2], ax
jne 0x45347d
push 0x45
pop ecx
cmp word [esi + 4], cx
jne 0x45347d
add esi, 4
jmp 0x80451ea2
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
jmp 0x80451ea2
mov word [eax], ss
add byte [eax], al
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 0x40]
sub eax, edi
lea edi, [eax + 1]
jmp 0x28d445f1
inc edi
cld
inc dword [ecx + 0x20009]
psubsw mm6, mm6
inc esi
cld
inc dword [ecx + 0x8000009]
add byte [ecx + 0x400644b], al
add byte [eax], al
jmp 0x417d29
jae 0x4536b4
cmp eax, edi
je 0x45366c
push 0x78
pop edi
cmp eax, edi
jne 0x8b9b4637
or dword [ecx], 8
jmp 0x802d7d29
push 4
pop eax
add al, 0x58
jmp 0x802d7d27
inc esi
call 0x2c8ac1fd
jmp 0x394dab17
pushal
jmp 0x802d7d84
push 0x52
pop edi
dec ebp
push ebp
clc
jmp 0x802d7990
or eax, dword [ebx + 0x72]
mov dword [ecx + 0x4889f04d], ecx
jl 0x453699
add eax, dword [ebx + 0x72]
mov dword [ecx], edi
jo 0x4536f7
cmp dword [eax + 0x40], esi
ja 0x802d7a83
mov esi, dword [ebp - 8]
mov ecx, 0x8b560082
mov word [esi], cx
jmp 0x89b77a64
inc esi
add al, 0x75
adc byte [ebx], bh
push ebp
hlt
pop eax
cmp edx, eax
jg 0x454655
cmp edx, dword [ebp - 0xc]
jne 0x89b77a83
jmp 0xc85136ec
test ecx, ecx
js 0x453750
mov ebx, dword [ebp - 0x8b00d8]
mov dword [ebp - 0x2c], ecx
mov ecx, dword [ebp - 0xc]
inc ebp
pop ebp
pushfd
mov dword [ebp - 0xf30098], ecx
jmp 0x453754
or dword [ebp - 0x2c], 0xffffffff
or dword [ebp - 0x6c], 0xffffffff
jmp 0x1af7afa
test dword [0xe97fe841], esi
lea eax, [ebx + 0x6a]
add dword [edx + 0x2b], ebp
pop eax
cmp edx, eax
jne 0x453a1a
jmp 0xeec9477c
mov edx, dword [ebp + 0x28]
mov eax, dword [ebp - 8]
xor ecx, ecx
mov ebx, eax
mov esi, dword [edx + 0x14]
mov dword [ebp - 0x10], ebx
cmp dword [ebp + 0x2c], ecx
jne 0x453b0f
mov word [eax], cx
test edi, edi
je 0x453a51
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp - 0x3c]
push edi
mov ecx, dword [eax + 0x14]
call fcn.0048db79
mov edx, dword [ebp + 0x28]
mov esi, eax
pop ecx
mov eax, ebx
test esi, esi
jne 0x463adf
cmp edi, dword [edx + 0x44]
jg 0x454685
mov eax, dword [edx + 0x14]
mov ecx, dword [edx + 0x3c]
lea esi, [eax + edi*2]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*2]
add eax, 0x1ffff38
cmp dword [edx + 0x20], eax
jb 0x453a8f
mov ecx, edx
call fcn.0048e10f
dec ebp
dec ebp
or al, 0x89
add esp, edi
dec dword [edi]
test dword [esi - 0x748017b8], edx
inc ebp
sub byte [ebp + 0x55], cl
mov eax, dword [ebp + 0x28]
dec ebp
push ebp
clc
mov ecx, edx
push 2
pop edi
sub ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x20]
add ecx, edi
sar ecx, 1
mov word [eax], cx
mov eax, dword [ebp + 0x28]
add dword [eax + 0x20], edi
xor ecx, ecx
push 0x75
pop edi
mov word [edx], di
sub esi, dword [eax + 0x14]
sar esi, 1
push 4
pop eax
mov word [edx + 2], si
add edx, eax
cmp dword [ebp - 0x2c], 0xfffffffe
mov dword [ebp - 8], edx
mov dword [ebp - 0xf30098], ecx
jne 0x802d8120
or dword [ebp - 0x2c], 0xffffffff
jmp 0x802d8120
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x28]
jmp 0x453aaf
or byte [ebx + 0x75c98509], cl
bnd jmp 0x453b2b
mov ecx, dword [ebp - 0x48]
mov eax, dword [edi + 0x34]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x48], esi
cmp ecx, esi
jb 0x604539f7
jmp 0x802d753d
mov esi, ebx
mov ecx, dword [ebp - 0xc]
cmp dword [ebp - 0x2c], 0xfffffffe
jne 0x453b53
or dword [ebp - 0x2c], 0xffffffff
mov edx, dword [ebp - 8]
mov ebx, edx
test byte [ebp - 0x34], cl
push 0
pop eax
setne al
mov dword [ebp - 0x10], ebx
add eax, 0x71
mov word [edx], ax
push 2
pop eax
add edx, eax
push 0x20
mov word [edx], di
add edx, eax
pop eax
cmp edi, eax
mov dword [ebp - 8], edx
cmp ecx, eax
jge 0x453b84
mov ecx, edi
shl eax, cl
or dword [esi + 0x50], eax
cmp edi, dword [esi + 0x4c]
jle 0x453b8f
mov dword [esi + 0x4c], edi
mov ecx, dword [esi + 0x24]
jmp 0x453ba3
mov al, 0xf
mov bh, 0x41
add al, 0x3b
invalid
movzx eax, word [ecx + 4]
cmp eax, edi
je 0x453bac
mov ecx, dword [ecx]
test ecx, ecx
jne 0x453b99
jmp 0x802d8120
inc ebp
call 0xf48ac72e
mov eax, dword [ebp - 0xc]
mov word [ecx + 6], ax
jmp 0x802d8120
jg 0x453b44
push ebp
clc
jmp 0x802d8120
dec esi
dec eax
jmp 0x802d80ec
test eax, edx
invalid
inc ebp
mov ah, 0x66
mov dword [edx], ecx
push 2
pop esi
add edx, esi
mov word [edx], ax
add edx, esi
mov ax, word [ebp - 0x38]
mov word [edx], ax
jmp 0x802d811b
fldenv [ebx - 0x3bbfd]
push ecx
test bh, ch
cmp dword [edi + ebx*2 + 0x3966c033], eax
pop esi
add ch, byte [edx + 0x1f]
pop edi
xor eax, eax
cmp word [esi + 2], bx
push 0x1f
setne al
dec eax
pop ecx
and eax, 0xffffffee
add eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x504546da
add byte [edx], al
je 0x802d76ad
mov edx, dword [ebp - 8]
neg eax
sbb eax, eax
and eax, 0xff74ff70
add eax, 0x8b56009d
popfd
add byte [esi - 0x75], dl
mov word [edx], ax
add edx, edi
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 8], edx
cmp eax, 0xfffffffe
jne 0x453ce3
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x6c], eax
jmp 0x5fc9789a
cmp bh, ah
or al, 0x83
mov byte [edx], 0xb9
dec dword [ebp - 0x26dcdbbc]
shl ebx, 0xa
movzx eax, word [esi]
and eax, ecx
mov dword [ebp - 4], esi
or ebx, eax
add ebx, 0xf0100f0
mov dword [ebp - 0x18], ebx
jmp 0x802d7708
fadd dword [ecx + 0x100f0c3]
jns 0xe12f2582
cmp eax, ebp
jg 0x453cb4
inc ebp
hlt
jg 0x453dac
pop esp
pop eax
cmp ebx, eax
jne 0x802d7738
push 0x45
pop ecx
cmp word [esi + 2], cx
jne 0x5fc97738
xor ecx, ecx
add esi, 2
mov dword [ebp - 0x30], ecx
mov eax, ecx
jmp 0x5fc977bd
test ebx, esi
or byte [eax], al
add byte [edx + 4], ch
pop eax
add esi, eax
push 0x5e
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
jne 0x453dd6
mov eax, dword [ebp - 0xc]
mov edi, eax
push 2
mov dword [ebp - 0x28], eax
pop eax
add esi, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], esi
jmp 0x453dd9
in al, 0x7d
call 0x8bd5932a
into
dec ebp
push ebp
nop
mov ecx, esi
sub edx, esi
sar edx, 1
call fcn.0048e009
dec ebp
enter 0xffffffffffffc985, 0xf
mov byte [edi - 0x74affff8], ch
push ebp
hlt
jmp 0x453f5a
mov esi, dword [ebp - 0x70]
push 2
pop edx
add esi, edx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x58], edx
jmp 0x60453e49
add bl, ch
pop es
push 0xffffffffffffffff
push 0x4b8f30
push ebx
push dword [ebp - 0x34]
lea edx, [ebp - 0x14]
lea ecx, [ebp + 0x5fffff2c]
call 0x8348dcc0
clc
or dword [eax], edx
jmp 0x804177b1
add eax, 0x4b8f3068
add byte [ebx - 1], dl
jne 0x454181
lea edx, [ebp - 0x14]
lea ecx, [ebp + 0x5fffff2c]
call 0x8348ddc2
clc
or dword [ecx + ebp*8], ecx
out 0x35, al
call 0xfcbacd4d
mov esi, dword [ebp - 4]
jmp 0x802d77ba
cmp word [esi + 4], bx
jne 0x4541e8
add esi, 4
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], esi
cmp word [esi + 2], di
mov byte [ecx + ecx*4], 0x4d
ror byte [ecx + 0x3966fc75], 1
jle 0x4541e8
je 0x4541d3
mov ebx, dword [ebp - 0x18]
pop ebp
push ebp
or al, 0xe9
push edi
xor eax, 0x458b7fe8
sub byte [ecx + 0x8006448], al
add byte [eax], al
jmp 0x802d7762
cmp word [esi + 2], 0x51
jne 0x5fc97f0c
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
jne 0x454266
push 0x45
pop eax
cmp word [esi + 2], ax
cmp dword [esi + 2], eax
push 4
pop eax
jne 0x454266
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
je 0x45422a
jmp 0x802d7f0c
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x30], edi
jmp 0xd417f0c
cmp al, 0xfc
or al, 0x83
mov byte [edx], 0xb9
dec dword [ebp - 0x6dcdbbc]
shl edi, 0xa
movzx eax, word [esi]
and eax, ecx
mov dword [ebp - 4], esi
or edi, eax
add edi, 0xf0100f0
mov dword [ebp - 0x18], edi
jmp 0xb2e7f47
lea ecx, [ebp - 4]
push dword [ebp - 0x34]
push dword [eax + 0x40]
push edx
lea edx, [ebp - 0x18]
call 0x802d83ec
mov ecx, dword [ebp + 0xc]
xor edx, edx
clc
or dword [eax], edx
cmp dword [ecx], edx
jne 0x802d8325
test dword [edi + 0x40], esp
call 0xfcbace40
mov esi, dword [ebp - 4]
jmp 0x8356b75a
cmp eax, ecx
jne 0x5fc97f61
lea edx, [ebp - 0x70]
mov ecx, esi
call 0x4448e056
cld
call dword [ecx - 0x7c]
push ecx
cmp al, 0xe8
jg 0x45429c
popfd
add eax, dword [esp + edi*8 - 1]
push ecx
test byte [ecx + 0x3c], dl
call 0xc8ace92
mov dword [eax], 0x50000053
jmp 0x504546da
inc ebp
or al, 0xc7
add byte [ebx], dl
add byte [eax - 0x17], dl
mov esp, 0x8b500003
inc ebp
sub byte [ecx + 0x8006448], al
add byte [eax], al
jmp 0x802d7f91
cmp al, 0xe8
jg 0x4542b9
pop ebp
mov al, byte [0x1d74db85]
mov esi, ebx
xor ebx, ebx
mov dword [ebp - 0x60], ebx
push 2
fisttp dword [ecx + 0x26aa05d]
pop ebx
add esi, ebx
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x18], ebx
test ebx, ebx
jne 0x802d77d6
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x8b560006
jmp 0x504546da
inc edi
jmp 0x802d7854
jmp dword [esi - 0x75]
cld
in al, 0xba
dec dword [ebp - 0x35dcdbbc]
and eax, edx
shl ecx, 0xa
or ecx, eax
add ecx, 0xf0100f0
jmp 0x417478
enter 0xffffffffffffc181, 0xfffffffffffffff0
add byte [ecx], al
psubsw mm2, qword [ebx]
xor ah, bh
inc dword [ebx - 0x7c006bb3]
dec ebp
aam 0xff
jmp 0x802d789a
dec ebp
sub byte [ecx + 0x8006449], al
add byte [eax], al
jmp 0x417500
call [edi]
je 0x417880
or dword [ebp - 0x54], 0xffffffff
or dword [ebp - 0x2c], 0xffffffff
jmp 0x5fc9753d
pop edi
movzx edi, word [edi - 2]
mov eax, dword [ecx + 0x68]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x54], eax
jmp 0x41789a
sub al, 0xff
call [edi + 0x50]
push dword [ebp - 8]
call 0x89b810a8
jmp 0xc7c8521e
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50000054
jmp 0x4546da
push 0x27
jmp 0x4546a6
push 0x2b
jmp 0x8b9b46a6
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50000015
jmp 0x802d8325
cmp eax, 0x458b7fe8
or al, 0xc7
add byte [ecx], dh
add byte [eax], al
push eax
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x50000031
jmp 0x399146da
push 0x2a
jmp 0x4546a6
mov dword [eax], 0xf0000c
jmp 0x8b9b46da
mov eax, dword [ebp + 0xc]
mov dword [eax], 0xf0001b
jmp 0x802d8325
mov dword [edx], eax
jmp 0x4546da
mov eax, dword [ebp + 0xc]
push 0xf
pop ecx
mov dword [eax], ecx
jmp 0x802d8325
mulps xmm1, xmmword [ecx + 0x3c93e908]
call 0xc8ad214
mov dword [eax], 0xf00028
jmp 0x1af8325
push ds
jmp 0x4546a6
mov eax, dword [ebp + 0xc]
pop ecx
mov dword [eax], ecx
jmp 0x4546da
add byte [eax], al
jmp 0x4546da
cmp al, 0xe8
jg 0x454689
add dword [ebx], edx
add byte [eax - 0x15], dl
adc edi, eax
add dword [eax], ecx
add byte [eax], al
add bl, ch
or dword [ebx + 0xc70c45], ecx
xor al, 0
push esi
mov ecx, dword [ebx + 0x30890845]
mov eax, dword [ebp + 8]
mov dword [eax], esi
xor eax, eax
jmp 0x4175d8
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
movzx ecx, byte [eax + edi]
mov al, 1
mov edx, ecx
and ecx, 7
mov dh, 0xc
cmp byte [eax - 0x7c2e74ff], dh
loope 0x4547bc
shl al, cl
mov ecx, dword [ebp - 8]
shr edx, 3
or byte [edx + ecx], al
add ecx, dword [eax]
add al, 0xa
inc edi
cmp edi, ebx
sti
jbe 0x4547a4
mov edi, dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
jmp 0x89b7835d
cli
dec dword [ebp + 0x6e89c4d]
cmp eax, 0x8d53fffa
inc ebp
pushfd
push ebx
push eax
lea edx, [ebp - 0x54]
lea ecx, [ebp - 0x34]
call fcn.00404721
jmp 0x85d347b5
or dword [ebx + 0x3785e8cf], 0xfffffffa
call [edi + 0x56]
call fcn.00421094
pop ecx
xor eax, eax
inc eax
pop esi
pop ebp
ret 8