Function at 0x41dd28
Capabilities:
Authenticate hmac
Encrypt data using speck
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x184
mov eax, edx
mov dword [ebp - 0x120], ecx
mov ecx, dword [ecx]
mov dword [ebp - 0x140], eax
push ebx
mov edx, dword [eax]
mov eax, ecx
shr eax, 0xb
and eax, 1
mov dword [ebp - 0xc], 1
mov dword [ebp - 0x3c], eax
mov eax, ecx
shr eax, 9
push esi
mov esi, dword [ebp + 8]
and eax, 1
mov dword [ebp - 0xdc], eax
xor eax, 1
push edi
xor edi, edi
mov dword [ebp - 0xe8], eax
mov esi, dword [esi]
mov ebx, edi
push 0xfffffffffffffffe
pop eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x2c], eax
movsx eax, cl
and eax, dword [ebp - 0xc]
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x40], edi
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x9c], edi
mov dword [ebp - 0x84], edi
mov dword [ebp - 8], edx
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xb0], edx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 4], esi
mov dword [ebp - 0x60], edi
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x88], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x64], edi
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xb4], 0xff
mov dword [ebp - 0x12c], 0xfc00
mov dword [ebp - 0x148], 0xdc00
mov dword [ebp - 0x158], 0x2b
mov dword [ebp - 0x128], 0x7b
mov dword [ebp - 0xe4], 0x30
mov dword [ebp - 0x118], 0x29
mov dword [ebp - 0x90], 0x39
mov dword [ebp - 0x110], 0x3c
mov dword [ebp - 0x144], 0x52
mov dword [ebp - 0xe0], 0x27
mov dword [ebp - 0x154], 0x2d
mov dword [ebp - 0x100], 0x10
mov dword [ebp - 0x114], 0x17
mov dword [ebp - 0x14c], 0x20
mov dword [ebp - 0x104], 0x1d
mov dword [ebp - 0x134], 0x1e
mov dword [ebp - 0x10c], 0x1f
mov dword [ebp - 0x13c], 0x6e
mov dword [ebp - 0x11c], 0x6f
mov dword [ebp - 0x150], 0x70
mov dword [ebp - 0x124], 0x71
mov dword [ebp - 0xfc], 0x73
mov dword [ebp - 0x108], 0xf
movzx edi, word [esi]
mov dword [ebp - 0x18], edi
test edi, edi
je 0x41e841
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 0x41df42
cmp edx, eax
ja 0x454c01
mov eax, dword [ebp - 0xa8]
cmp edx, eax
jb 0x41ee64
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 0x454b59
lea eax, [edx + ecx]
mov ecx, dword [ebp + 0x2c]
mov dword [ecx], eax
test ebx, ebx
je 0x41df50
mov ecx, dword [ebp - 0xb0]
cmp ebx, ecx
ja 0x41e1d1
mov edx, dword [ebp - 8]
jmp 0x41df59
mov ecx, dword [ebp + 0x28]
cmp dword [ecx + 0x20], eax
ja 0x454c01
jmp 0x41df62
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 0x452171
mov edx, dword [ebp - 0x34]
mov ebx, edx
and ebx, 8
mov dword [ebp - 0x68], ebx
jne 0x41ee6e
push 0x2a
pop eax
cmp edi, eax
je 0x41e497
push 0x2b
pop eax
cmp edi, eax
je 0x41e497
push 0x3f
pop eax
cmp edi, eax
je 0x41e497
push 0x7b
pop eax
cmp edi, eax
je 0x4522e1
xor eax, eax
cmp dword [ebp - 0x78], eax
mov ecx, eax
mov eax, dword [ebp - 0x60]
jne 0x4522f9
test edx, 0x4000
jne 0x45233a
mov edx, dword [ebp - 8]
push 0x3f
pop eax
cmp edi, eax
ja 0x41e145
je 0x41e717
mov eax, edi
xor ecx, ecx
sub eax, ecx
je 0x41e175
nop
add dword [eax], eax
add byte [ebx - 0x7bf0db18], al
dec ebp
dec esi
add eax, dword [eax]
sub eax, 0x24
je 0x452e3b
sub eax, 4
je 0x41e505
dec eax
je 0x41e175
dec eax
je 0x41e872
dec eax
je 0x41ee78
sub eax, 3
je 0x41ec03
cmp dword [ebp - 0x3c], 0
mov edx, dword [ebp - 0xc]
mov ebx, edx
mov word [ebp - 0xf8], di
je 0x41e03b
mov eax, edi
mov ecx, 0xfc00
and eax, ecx
cmp eax, 0xd800
je 0x453930
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 0x41e09b
test dl, al
je 0x41e09b
movzx ecx, di
mov edx, 0xfc00
mov eax, ecx
and eax, edx
mov edx, 0xd800
cmp eax, edx
je 0x454976
mov eax, ecx
mov ecx, 0x80
cdq
idiv ecx
movzx eax, byte [eax + 0x4b4b10]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a6810]
movzx eax, byte [eax*8 + 0x4a3f23]
test eax, eax
jne 0x41eb8b
inc ebp
adc byte [eax + 0x4a], ch
add byte [edi], cl
mov dh, 4
lds esp, [ebx]
aas
dec edx
add byte [ebp - 0xc7af040], al
or al, byte [eax]
add byte [ebx + 0x4d8bcc45], cl
hlt
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 0x41e0d4
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 0x4549a2
push 0xa
pop ecx
cmp ax, cx
je 0x4549a2
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp - 0x2c]
cmp edx, 0xfffffffe
je 0x41e457
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 0x4549dd
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 0x41dece
mov eax, edi
sub eax, 0x5b
je 0x41e208
call 0xb8c5f0a8
add byte [eax], al
add byte [eax + 0xf], cl
test byte [ebx + 3], cl
add byte [eax], al
add byte [eax], al
dec eax
je 0x41e4a2
dec eax
je 0x453912
dec eax
je 0x4538eb
sub eax, 0x1d
je 0x452e4f
dec eax
jne 0x41e015
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 0x41e1c7
sub edx, dword [ebp - 0xa8]
mov ecx, 0x7fffffeb
mov eax, dword [ebx]
sub ecx, eax
sar edx, 1
cmp ecx, edx
jl 0x454b59
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.00428010
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 0x41df59
lea edi, [esi + 2]
mov edx, 0x492c0c
push 6
mov ecx, edi
call fcn.0041efaf
pop ecx
test eax, eax
je 0x454189
push 6
mov edx, 0x492c04
mov ecx, edi
call fcn.0041efaf
pop ecx
test eax, eax
je 0x454196
mov eax, dword [ebp - 8]
push 0x3a
mov dword [ebp - 0x10], eax
movzx eax, word [edi]
pop ebx
cmp ax, bx
je 0x4541a3
push 0x2e
pop ecx
cmp ax, cx
je 0x4541a3
push 0x3d
pop ecx
cmp ax, cx
je 0x4541a3
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 0x41edcd
test eax, eax
jne 0x41e294
cmp ebx, 0x5e
je 0x4541d1
push 0x5d
pop ecx
cmp ebx, ecx
je 0x4541dc
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.00423010
mov esi, dword [ebp - 4]
add esp, 0xc
test ebx, ebx
je 0x454881
cmp dword [ebp - 0x3c], 0
je 0x41e2fa
mov eax, ebx
mov ecx, 0xfc00
and eax, ecx
mov edx, 0xd800
cmp eax, edx
je 0x454221
mov edx, dword [ebp + 0x2c]
test edx, edx
je 0x41e30c
mov ecx, dword [ebp - 0x80]
cmp edi, ecx
ja 0x454258
cmp dword [ebp - 0x30], 0
jne 0x454271
pop edi
add eax, dword [eax]
cmp ebx, 0x5b
je 0x454298
push 0x5c
pop eax
cmp ebx, eax
je 0x41edf9
test bh, cl
or al, byte [eax]
add byte [ebx - 0x36ccf3ab], cl
mov edx, dword [ebp + 0xc]
xor ecx, ecx
push 0x5c
pop edi
cmp word [esi + 2], di
je 0x41eeea
push 0xd
pop eax
mov ecx, esi
cmp ebx, eax
je 0x454723
push 0xa
pop eax
cmp ebx, eax
je 0x454723
mov edi, dword [ebp - 0x30]
jge 0x41e327
test edi, edi
jne 0x41e368
push 0x2d
pop eax
cmp word [esi + 2], ax
je 0x41eae7
mov eax, dword [ebp - 0x58]
push 2
pop ecx
cmp eax, ecx
jl 0x41e44e
cmp dword [ebp - 0x30], 0
jne 0x41e387
mov edx, dword [ebp - 0xc]
cmp eax, edx
je 0x41e705
push ebx
push ebx
push dword [ebp + 0x28]
push dword [ebp - 0x34]
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0xd4]
call fcn.0041ef1f
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 0x45485d
cmp ebx, 0x5d
jne 0x41e2de
test eax, eax
jne 0x41e2de
mov esi, dword [ebp - 0x80]
mov eax, dword [ebp - 0xc]
cmp edi, esi
ja 0x41e3e6
mov eax, dword [ebp - 0x68]
mov ebx, dword [ebp - 0x2c]
cmp ebx, 0xfffffffe
je 0x41ebb5
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 0x4549f2
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
je 0x41e41f
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 0x41e851
push 0x20
pop eax
add edi, eax
mov dword [ebp - 8], edi
jmp 0x41e12f
inc eax
mov dword [ebp - 0x58], eax
jmp 0x41e376
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 0x4549b1
push ebp
fmul dword [ebx + 0x5589ac55]
test al, 0x8b
push ebp
hlt
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 0x4549cb
mov esi, dword [ebp - 4]
mov ebx, dword [ebp - 0x10]
jmp 0x41e138
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x60]
jmp 0x41dfb9
xor ebx, ebx
mov dword [ebp - 0x70], esi
jne 0x41e437
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.0041efde
mov edx, dword [ebp + 0xc]
add esp, 0x10
mov edi, eax
cmp dword [edx], ebx
jne 0x41ef17
test edi, edi
jne 0x41ec4e
cmp dword [ebp - 0x94], 0xffff
ja 0x45395e
mov di, word [ebp - 0x94]
mov edx, dword [ebp - 0xc]
mov word [ebp - 0xf8], di
mov ebx, edx
mov dword [ebp - 0x18], edi
jmp 0x41e03b
push 2
pop ebx
add esi, ebx
push 0x3f
mov dword [ebp - 4], esi
pop eax
movzx edx, word [esi]
cmp dx, ax
je 0x41e87c
push 0x2a
pop eax
cmp dx, ax
je 0x4523da
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 0x41e88e
test eax, 0x1000
jne 0x41ee8a
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
in al, 0x6a
push edx
pop edi
mov eax, dword [ebp + 0x28]
inc dword [eax + 0x58]
cmp dword [eax + 0x58], 0xfa
jg 0x41ef0d
lea eax, [ebx - 0x7d]
xor ecx, ecx
cmp eax, 3
mov eax, dword [ebp + 0x28]
jbe 0x453bd0
clc
add ecx, dword [ebx - 0x79f0d7bb]
sub dl, byte [esi + 3]
add byte [ecx - 0x76990fab], cl
sbb cl, byte [ebx + 0x708b6878]
inc eax
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 0x41eeae
xor ecx, ecx
mov edx, ecx
cmp ebx, 0x7f
je 0x41eeb8
cmp ebx, 0x80
je 0x41eeb8
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.0041d9d2
add esp, 0x34
test eax, eax
je 0x41ef17
mov eax, dword [ebp + 0x28]
mov ecx, 0x81
dec dword [eax + 0x58]
cmp ebx, ecx
je 0x453be4
mov esi, dword [ebp - 8]
push 0x7d
pop ecx
cmp ebx, ecx
jl 0x41e668
add ecx, 3
cmp ebx, ecx
jle 0x41eec0
mov eax, 0x87
cmp ebx, eax
je 0x453bfd
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 4]
push 0x29
pop edx
cmp word [esi], dx
jne 0x454b93
mov edx, dword [ebp + 0x2c]
test edx, edx
jne 0x41ebc0
ror byte [edi], cl
test dword [ebx], ebp
add eax, 0x558b0000
mov esp, 0x81f85589
sti
xchg ecx, eax
add byte [eax], al
add byte [edi], cl
test al, ch
std
invalid
add byte [ebx + 0x5589bc55], cl
clc
mov edx, dword [ebp - 0x44]
mov dword [ebp - 8], edx
cmp ebx, 0x91
je 0x41e48f
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 0x453c8d
cmp dword [ebp - 0x2c], 0xfffffffe
je 0x453c65
test ecx, ecx
jns 0x41ee41
test eax, eax
js 0x41e48f
mov edi, dword [ebp - 0xac]
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x54], eax
jmp 0x41e48f
push 0x5d
pop eax
cmp word [esi + 2], ax
jne 0x41e387
jmp 0x45488f
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 0x41ef06
test edi, edi
jne 0x41e74e
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
inc ebp
aam 0x8b
inc ebp
fmul dword [ecx + 0x458ba445]
test al, 0x89
inc ebp
lodsb al, byte [esi]
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 0x41ee94
lea ecx, [esi + 2]
movzx eax, word [ecx]
push 0x2b
pop ebx
cmp ax, bx
je 0x452f63
push 0x3f
pop ebx
cmp ax, bx
je 0x41ed1a
test byte [eax - 0x74fffffb], dl
popfd
and al, 0xff
invalid
mov ebx, dword [ebp - 0xdc]
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x10]
push 0x75
pop ecx
cmp word [eax], cx
je 0x452f7a
movzx ecx, word [eax]
cmp cx, word [ebp - 0x104]
je 0x453533
cmp cx, word [ebp - 0x134]
je 0x453533
je 0x41e80a
add eax, dword [eax]
cmp cx, word [ebp - 0x10c]
je 0x453533
cmp cx, word [ebp - 0x14c]
je 0x453533
cmp cx, word [ebp - 0x114]
jb 0x41ed2a
cmp cx, word [ebp - 0x13c]
jne 0x41e98d
test edx, edx
je 0x41ee9c
test edi, edi
jne 0x4534e4
cmp edx, 0xffffffff
jne 0x41ead6
add byte [eax], al
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 0x45378c
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 0x41e135
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x41dedc
ror byte [edi], 0x84
nop
idiv bh
invalid
jmp 0x45215c
test ecx, ecx
jne 0x41eefc
push 0x20
pop eax
push eax
lea eax, [ebp - 0xd4]
push eax
push edi
call fcn.00421070
add esp, 0xc
jmp 0x41e441
mov edi, ecx
or edx, 0xffffffff
jmp 0x41e71e
push 0x23
pop eax
cmp word [esi + 2], ax
jne 0x41e51c
jmp 0x452385
push 2
pop edx
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
mov eax, edi
cmp eax, 0x3a
jle 0x452616
sub eax, 0x3c
je 0x452c44
dec eax
je 0x452b7e
dec eax
je 0x452b75
sub eax, 5
je 0x452bd0
sub eax, 0xd
je 0x452b96
sub eax, edx
je 0x41ee80
sub eax, 0x2a
je 0x452b68
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 0x41e92c
push 2
pop edx
push 0x3a
pop eax
cmp di, ax
je 0x41e926
movzx eax, di
add esi, edx
mov dword [ebp - 4], esi
cmp eax, 0x69
jg 0x453b7d
jne 0x453b36
mov eax, dword [ebp - 0xc]
or dword [ecx], eax
movzx edi, word [esi]
push 0x29
pop eax
cmp di, ax
jne 0x41e8f7
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
sub dword [eax - 0x77], ebx
push ebp
mov ah, 0x66
cmp dword [esi], eax
jne 0x41eea4
mov eax, dword [ebx + 0x14]
push 4
pop ecx
add eax, ecx
cmp dword [ebp - 8], eax
je 0x453bab
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
mov esi, 0x89c123c2
test dword [edi + edi*8 - 1], esi
dec dword [ebx - 0x11f7b]
dec dword [ecx + 0x1089cc55]
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x10], ebx
jmp 0x41e135
cmp cx, word [ebp - 0x11c]
je 0x41e7f3
invalid
cmp cx, word [ebp - 0x150]
je 0x41e7f3
cmp cx, word [ebp - 0x124]
je 0x41e7f3
cmp ecx, 0x72
je 0x41e7f3
cmp cx, word [ebp - 0xfc]
je 0x41e7f3
cmp ecx, 0x74
je 0x41e7f3
push 0x7d
pop edi
cmp cx, di
jb 0x4534c8
add edi, 0xa
cmp cx, di
ja 0x4534c8
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 0x452ffa
mov eax, 0x81
cmp cx, ax
mov eax, dword [ebp - 0x50]
jb 0x453011
mov ecx, dword [ebp - 0xc]
test eax, eax
jne 0x453096
mov eax, dword [ebp - 8]
push dword [ebp - 0x88]
push dword [ebp + 0x28]
push dword [ebp - 0x3c]
cmp edx, ecx
jg 0x453042
mov edx, dword [ebp - 0xc]
xor ecx, ecx
mov word [eax], cx
mov ecx, dword [ebp - 0x10]
call fcn.0041f2bb
mov ecx, dword [ebp - 0x10]
lea eax, [edi + edi]
add esp, 0xc
lea esi, [ecx + 2]
push eax
push ecx
push esi
call fcn.00428010
mov edx, dword [ebp - 0x40]
add esp, 0xc
push 2
pop eax
add dword [ebp - 8], eax
test edx, edx
je 0x453032
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 0x453383
mov ebx, dword [ebp + 0x2c]
test ebx, ebx
jne 0x41edc0
adc al, byte [ebx]
add byte [eax], al
lea ebx, [edx - 1]
test ebx, ebx
jns 0x453223
xor edi, edi
mov edx, dword [ebp - 8]
mov ebx, dword [ebp - 0x24]
test ebx, ebx
jne 0x453333
mov edi, dword [ebp - 8]
xor edx, edx
push 2
pop ebx
jmp 0x41e822
invalid
cmp edx, dword [ebp - 0xc]
jne 0x4534f6
push ebp
hlt
lea eax, [ebx + 0x66]
jmp 0x41e80f
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 0x454732
movzx eax, word [esi]
test ax, ax
je 0x41eef2
test edi, edi
jne 0x41eb1a
push 0x5d
pop edi
cmp ax, di
je 0x41eef2
add eax, dword [eax]
add byte [ebx - 0x74ff3b83], al
clc
cmp dword [ebp - 0x3c], 0
mov edi, eax
mov dword [ebp - 0x18], edi
je 0x41eb39
mov ecx, 0xfc00
and eax, ecx
mov ecx, 0xd800
cmp eax, ecx
je 0x4547a1
cmp dword [ebp - 0x30], 0
jne 0x41eb53
push 0x5c
pop eax
cmp edi, eax
je 0x4547c6
cmp edi, 0x5b
je 0x45480e
add byte [ebx - 0x4c4f3b3], cl
mov ecx, dword [ebp + 0xc]
cmp edi, ebx
jb 0x454bf9
je 0x41e368
push 2
pop eax
push 0xd
mov dword [ebp - 0x58], eax
pop eax
cmp edi, eax
je 0x45484e
push 0xa
pop eax
cmp edi, eax
je 0x45484e
mov eax, dword [ebp + 0x28]
push edi
push ebx
push eax
jmp 0x41e38c
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 0x41e48c
jmp 0x454995
or ebx, 0xffffffff
mov dword [ebp - 0x2c], ebx
jmp 0x41e3f2
mov edi, dword [ebp - 0x84]
mov ecx, 0x7fffffeb
mov edx, dword [edx]
sub ecx, edx
lea eax, [edi - 4]
cmp ecx, eax
jl 0x454b59
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 0x41e446
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x41ec11
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 0x41e132
fimul dword [ebx + 0x4589a47d]
test byte [ebx + 0x4589ac45], cl
test al, 0x8b
inc ebp
int3
cmp edi, 0x1a
je 0x453990
cmp edi, 0x19
je 0x41e12f
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x41ec76
lea eax, [edi - 6]
cmp eax, 0x10
ja 0x41ec76
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 0x4539b8
push 0x1c
pop eax
cmp edi, eax
je 0x453cbb
test edi, edi
js 0x41eec8
push 0xf
pop eax
cmp edi, eax
je 0x454122
push 0x10
pop eax
cmp edi, eax
je 0x454122
mov ecx, dword [ebp - 0xc]
cmp edi, 5
je 0x4540f0
push 4
pop eax
cmp edi, eax
je 0x4540f0
cmp edi, ecx
je 0x4540f0
push 0x1d
pop eax
cmp edi, eax
jge 0x454101
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 0x45410f
push 2
mov word [edx], di
pop esi
add edx, esi
mov dword [ebp - 8], edx
mov esi, dword [ebp - 4]
jmp 0x41e138
mov ebx, dword [ebp - 0xe8]
mov esi, ecx
mov dword [ebp - 4], esi
jmp 0x41e790
cli
invalid
push 0x34
pop edi
xor al, 0x5f
mov ebx, ecx
mov ecx, dword [ebp - 0x10]
push 0x10
pop edx
movzx eax, word [ecx]
cmp ax, dx
je 0x4535e6
push 0xf
pop edx
cmp ax, dx
je 0x4535e6
test byte [ecx - 0x7cfffcb8], bl
dec ebp
in al, dx
inc dword [ebx + 0x458bffca]
invalid
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 0x41e82c
add dword [ebp - 0x1c], edi
cmp dword [ebp - 0x50], 0
jne 0x453622
cmp eax, 0xffffffff
jne 0x4535f6
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 0x41eda8
test ebx, 0x10000000
jne 0x453767
mov word [edi], bx
add edi, ecx
mov dword [ebp - 8], edi
jge 0x41eda8
clc
test edx, edx
jns 0x453521
mov esi, dword [ebp - 4]
jmp 0x41eacc
test edx, edx
jle 0x41eaae
invalid
jmp 0x4531dc
lea ecx, [esi + 2]
cmp word [ecx], dx
cmp dword [ecx], edx
je 0x41eecf
push 3
mov edx, 0x492c14
call fcn.0041efaf
pop ecx
test eax, eax
jne 0x41e29f
mov eax, dword [ebp - 0x24]
add esi, 6
jmp 0x41e26e
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.0041efde
mov edx, dword [ebp + 0xc]
xor ecx, ecx
add esp, 0x10
mov esi, eax
cmp dword [edx], ecx
jne 0x41ef17
test esi, esi
jne 0x41eed9
mov ebx, dword [ebp - 0x94]
mov esi, dword [ebp - 4]
mov dword [ebp - 0x18], ebx
jmp 0x41e32f
test eax, eax
jns 0x41e6f4
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xac], eax
mov eax, ecx
or eax, edi
mov dword [ebp - 0xa0], eax
jmp 0x41e6ec
mov edx, eax
mov dword [ebp - 8], edx
jmp 0x41df09
mov ebx, 0xff
jmp 0x4521fd
mov edi, dword [ebp - 0xc]
jmp 0x41e874
add esi, edx
mov dword [ebp - 4], esi
jmp 0x452b5b
mov ebx, 0x83
jmp 0x453bc5
add esi, 2
jmp 0x452e88
mov dword [ebp - 8], eax
jmp 0x41e82c
mov ebx, 0x83
jmp 0x452b89
mov edx, dword [ebp - 0xc]
xor ecx, ecx
jmp 0x41e5f3
mov ecx, dword [ebp - 0xc]
jmp 0x41e5f3
dec dword [eax + 0x5c]
jmp 0x41e668
neg edi
jmp 0x454076
push 0x5c
mov esi, ecx
pop ecx
jmp 0x41e274
cmp esi, 5
jne 0x45449d
push 8
pop ebx
jmp 0x41ee36
push 0x45
pop ebx
jmp 0x454703
mov esi, ecx
mov dword [ebp - 4], esi
jmp 0x41e368
push 0x20
xor eax, eax
pop ecx
jmp 0x454aa0
push 9
jmp 0x454bd9
mov eax, dword [ebp + 0xc]
mov dword [eax], edi
jmp 0x454c0a
mov esi, dword [ebp - 4]
jmp 0x454c0a
mov dword [ebp - 0xc], edx
mov ebx, edi
mov dword [ebp - 8], ecx
mov dword [esi + 6], eax
add byte [eax], al
jmp 0x4520f6
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
jmp 0x41e02e
cmp edi, ebx
ja 0x452235
mov eax, dword [ecx + 0xc]
push 2
pop edx
test byte [eax + edi], 1
je 0x452232
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
cmp edi, ebx
jbe 0x452220
mov dword [ebp - 0x18], edi
push 0x23
pop eax
cmp edi, eax
jne 0x4522ec
push 2
pop edx
jmp 0x4522d9
mov edx, dword [ecx + 0x80]
test edx, edx
je 0x452286
cmp esi, dword [ecx + 0x1c]
jae 0x4522b6
push dword [ebp - 0x3c]
lea eax, [ecx + 0x84]
push eax
push dword [ecx + 0x1c]
mov ecx, esi
call fcn.0041fd2f
mov ecx, dword [ebp + 0x28]
add esp, 0xc
test eax, eax
je 0x4522b6
mov eax, dword [ecx + 0x84]
lea esi, [esi + eax*2]
mov dword [ebp - 4], esi
movzx edi, word [esi]
jmp 0x452216
mov edx, dword [ecx + 0x84]
mov ecx, dword [ecx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
mov ecx, dword [ebp + 0x28]
ja 0x4522b6
cmp di, word [ecx + 0x88]
jne 0x4522b6
cmp edx, dword [ebp - 0xc]
je 0x452275
mov ax, word [esi + 2]
cmp ax, word [ecx + 0x8a]
je 0x452275
push 2
pop edx
add esi, edx
cmp dword [ebp - 0x3c], 0
mov dword [ebp - 4], esi
je 0x4522de
mov ax, word [esi]
mov edi, 0xfc00
and ax, di
mov edi, 0xdc00
cmp ax, di
jne 0x4522de
add esi, edx
mov dword [ebp - 4], esi
movzx edi, word [esi]
test di, di
jne 0x452248
jmp 0x452281
mov ebx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x18], edi
jmp 0x41df96
dec dword [ebp + 0x4ae8024e]
retf
inc ebp
mov cl, dl
invalid
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 0x41dfe1
xor al, 0xbd
pushfd
xchg ebp, eax
dec ebx
add byte [ebx + 0x26a02c0], al
push 2
pop edx
mov dword [ebp - 0x60], eax
sub esi, edx
mov ebx, dword [ebp - 0x10]
jmp 0x41e14e
or dword [eax + 0x39], ebx
inc ebp
call 0xfe0fb22e
invalid
mov word [edx], cx
push 2
pop eax
add edx, eax
mov eax, dword [ebp - 4]
sub eax, dword [ebx + 0x18]
sar eax, 1
inc eax
mov word [edx], ax
xor eax, eax
mov word [edx + 2], ax
push 4
pop eax
add edx, eax
xor eax, eax
mov ebx, eax
mov dword [ebp - 0x10], ebx
jmp 0x41ed28
pop edx
cmp eax, edx
je 0x452b74
cmp eax, 0x2f
jle 0x41e8f7
jmp [edx + 0x39]
push 0x39
pop edx
cmp eax, edx
jg 0x41e8f7
push 0x29
pop eax
mov ebx, eax
mov dword [ebp - 0x4c], ebx
jmp 0x453a7c
sub dword [eax - 0x75], ebx
fmul dword [ecx - 0x4164ba3]
push cs
add byte [eax], al
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x38], eax
mov ebx, 0x83
jmp 0x452b93
add byte [eax], al
add bl, ch
add eax, 0x81bb
add byte [ebx], al
bnd jmp 0x452ba7
add esi, edx
jmp 0x452ba7
adc byte [ebx + 0x7d6a2855], cl
pop eax
mov ebx, eax
inc dword [edx + 0x5c]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x453bde
stc
je 0x452c91
push 0x29
jmp 0x454bef
test eax, ebp
push ds
add byte [eax], al
mov eax, 0xff
cmp ecx, eax
jle 0x4526ca
push 0x26
jmp 0x454bef
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 0x452cc8
push 0x39
pop edx
cmp ax, dx
jbe 0x454af4
mov edi, dword [ebp + 0x28]
mov edx, 0xff
cmp ax, dx
ja 0x452cf8
mov edx, dword [edi + 0xc]
push 2
pop ebx
movzx eax, ax
test byte [eax + edx], 0x10
je 0x452cf5
add esi, ebx
mov dword [ebp - 4], esi
movzx eax, word [esi]
cmp ax, word [ebp - 0xb4]
jbe 0x452cdb
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 0x452e2d
mov eax, dword [edi + 0x40]
inc eax
mov dword [ebp - 0x18], eax
cmp word [esi], cx
jne 0x454b5b
cmp dword [edi + 0x30], 0x2710
jge 0x454b4d
lea eax, [edx + 2]
cmp eax, dword [edi + 0x34]
jle 0x452d41
push 0x20
mov dword [edi + 0x34], eax
pop eax
cmp edx, eax
jle 0x452d41
push 0x30
jmp 0x454bef
mov ecx, dword [ebp + 0x28]
xor eax, eax
mov edi, dword [edi + 0x28]
mov ebx, eax
cmp dword [ecx + 0x30], eax
jle 0x452dad
cmp edx, dword [edi + 4]
jne 0x452d94
mov ecx, dword [ebp - 0x24]
push edx
mov edx, dword [edi]
call fcn.0048f1e5
pop ecx
test eax, eax
jne 0x452d91
mov eax, dword [ebp - 0x18]
cmp dword [edi + 8], eax
je 0x452daa
test dword [ebp - 0x34], 0x80000
je 0x454b38
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0xc]
mov dword [ecx + 0x78], eax
mov edx, dword [ebp - 0x14]
inc ebx
add edi, 0xc
cmp ebx, dword [ecx + 0x30]
jl 0x452d50
jmp 0x452dad
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x18]
cmp dword [edi + 8], eax
jne 0x452d83
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x41
jmp 0x454c23
mov ecx, dword [ebp + 0x28]
cmp ebx, dword [ecx + 0x30]
mov ebx, dword [ebp + 0x28]
jl 0x452e30
mov eax, dword [ebx + 0x38]
cmp dword [ebx + 0x30], eax
jl 0x452dfc
lea edi, [eax + eax]
imul eax, edi, 0xc
push eax
call dword [0x4a671c]
mov esi, eax
pop ecx
test esi, esi
je 0x454b3f
imul eax, dword [ebx + 0x38], 0xc
push eax
push dword [ebx + 0x28]
push esi
call fcn.00421089
add esp, 0xc
cmp dword [ebx + 0x38], 0x14
jle 0x452df6
push dword [ebx + 0x28]
call dword [0x4a6718]
pop ecx
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x38], edi
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 0x452e30
mov ebx, dword [ebp + 0x28]
push 2
pop eax
add esi, eax
mov dword [ebp - 4], esi
jmp 0x41e57e
cld
jmp [edx + 0x7f]
jmp 0x452ba4
pop ecx
xor ecx, ecx
mov dword [ebp - 4], esi
cmp dword [eax], ecx
jne 0x454c23
mov edx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x50]
jmp 0x41e740
push 2
pop edx
movzx eax, word [esi]
mov edi, 0xff
mov ebx, dword [ebp + 0x28]
cmp ax, di
ja 0x452eca
mov ecx, dword [ebx + 0xc]
movzx eax, ax
test byte [eax + ecx], 1
je 0x452eca
add esi, edx
movzx eax, word [esi]
cmp ax, di
jbe 0x452eb7
push 0x23
pop eax
cmp word [esi], ax
je 0x452f69
mov edx, dword [ebp - 0x40]
add esi, 0xfffffffe
mov edi, dword [ebp - 0x50]
mov dword [ebp - 4], esi
jmp 0x41e785
mov edx, dword [ebx + 0x80]
test edx, edx
je 0x452f1c
cmp esi, dword [ebx + 0x1c]
jae 0x452f49
push dword [ebp - 0x3c]
lea eax, [ebx + 0x84]
mov ecx, esi
push eax
push dword [ebx + 0x1c]
call fcn.0041fd2f
add esp, 0xc
test eax, eax
je 0x452f49
mov eax, dword [ebx + 0x84]
lea esi, [esi + eax*2]
jmp 0x452ea1
mov edx, dword [ebx + 0x84]
mov ecx, dword [ebx + 0x1c]
lea eax, [edx + edx]
sub ecx, eax
cmp esi, ecx
ja 0x452f49
cmp di, word [ebx + 0x88]
jne 0x452f49
cmp edx, dword [ebp - 0xc]
je 0x452f11
mov ax, word [esi + 2]
cmp ax, word [ebx + 0x8a]
je 0x452f11
push 2
pop edx
add esi, edx
cmp dword [ebp - 0x3c], 0
je 0x452f6b
mov ax, word [esi]
mov ecx, 0xfc00
and ax, cx
mov ecx, 0xdc00
cmp ax, cx
jne 0x452f6b
add byte [esi + 0x3b], ah
sal dword [ebp + 2], 3
movzx edi, word [esi]
add esi, edx
movzx edi, word [esi]
test di, di
jne 0x452ee7
jmp 0x452ea4
invalid
cmp edx, eax
jne 0x453005
lea eax, [edx + 2]
mov word [ecx - 2], ax
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 4]
jmp 0x41e7bb
cld
invalid
mov ecx, dword [ebp - 0xc]
test edx, edx
js 0x453041
cmp edx, ecx
jle 0x41ea44
mov edx, ecx
mov dword [ebp - 0x40], edx
jmp 0x41ea44
ror dword [ecx - 0x6163fab], 1
mov ecx, 0x458bfffc
invalid
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 0x41eaaa
dec dword [ebx + 0x458bfc75]
mov al, 0x8b
push ebp
rol byte [ebp - 0x3771f02e], 0xb8
cld
jmp [ebx]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x454b72
lea eax, [edx + ecx]
mov dword [ebx], eax
jmp 0x41ead4
mov edi, dword [ebp + 0x28]
mov ecx, dword [ebp + 0x28]
push 2
mov edi, dword [edi + 0x20]
sub edi, dword [ecx + 0x10]
mov ecx, dword [ebp - 0x38]
mov word [edx], ax
pop eax
sar edi, 1
add edx, eax
mov dword [ebp - 0x68], edi
mov dword [ebp - 8], edx
test ebx, ebx
je 0x4532a9
mov eax, 0x83
mov word [edx], ax
push 2
pop eax
add edx, eax
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x24]
test edx, edx
jne 0x453291
xor eax, eax
jmp 0x453298
mov eax, dword [ebp - 8]
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 8]
push 2
mov dword [ebp - 0x24], edx
mov word [edx], ax
pop eax
add edx, eax
mov dword [ebp - 8], edx
push ecx
push dword [ebp - 0x10]
push edx
call fcn.00421089
add esp, 0xc
jmp 0x4532cc
mov ecx, edx
call fcn.0048e8d4
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x41ef30
mov edx, dword [ebp + 0x28]
mov ecx, esi
sub ecx, edi
add ecx, dword [edx + 0x3c]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*2]
add eax, 0xffffff38
cmp dword [edx + 0x20], eax
ja 0x4532b8
mov eax, dword [edx + 0x10]
lea edx, [eax + esi*2]
lea esi, [edi + edi]
add eax, esi
cmp edx, eax
jae 0x45332a
mov edi, dword [ebp + 0x28]
mov cx, word [edx]
xor eax, eax
test ebx, ebx
push 2
setne al
add cx, word [ebp - 0x18]
lea eax, [eax*2 + 1]
add cx, ax
mov eax, dword [edi + 0x20]
mov word [eax], cx
pop eax
add dword [edi + 0x20], eax
add edx, eax
mov eax, dword [edi + 0x10]
add eax, esi
cmp edx, eax
jb 0x4532f8
mov edi, dword [ebp - 0x68]
dec ebx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 8]
mov esi, edi
lea edx, [edx + eax*2]
mov eax, dword [ebp - 0x80]
mov dword [ebp - 8], edx
jns 0x453253
mov esi, dword [ebp - 4]
xor edi, edi
jmp 0x41ead7
mov ecx, edx
sub ecx, ebx
sar ecx, 1
inc ecx
lea eax, [ecx + ecx]
sub edx, eax
movzx eax, word [edx + 2]
test eax, eax
jne 0x453364
mov ebx, edi
jmp 0x453369
neg eax
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 8]
push 0x78
pop esi
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
inc ebp
clc
test ebx, ebx
jne 0x45334c
jmp 0x453394
mov esi, dword [ebp - 4]
jmp 0x41eae2
mov dword [eax], ecx
mov edi, dword [ebp - 8]
cmp dword [ebp - 0x50], edx
jge 0x41edd1
mov esi, dword [ebp - 4]
xor edx, edx
mov dword [ebp - 0x20], edx
jmp 0x41eae7
loopne 0x4534b3
sbb dword [esi + 0x458bfffc], esi
in al, 0x83
sar byte [ecx - 0x15], 3
movzx eax, al
mov word [ecx], ax
jmp 0x4538fc
add byte [eax], al
cmp cx, ax
je 0x41e845
mov eax, dword [ebp + 0xc]
mov dword [eax], 0xb
add byte [eax], al
jmp 0x454c23
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
inc ebp
shl byte [esi - 0x77], 7
jmp 0x453542
add edi, ecx
mov dword [ebp - 8], edi
jmp 0x41edd1
cld
dec dword [ebx + 0x5d892845]
movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x68]
or eax, dword [ebp - 0x8c]
mov dword [ebp - 0x54], eax
jmp 0x41ed48
dec dword [ecx + 0x49e9ac45]
mov bh, 0xfc
dec dword [edi]
mov bh, 0x41
add al, 0xf
mov bh, 0x51
add cl, byte [ecx + 0x5ee9ec45]
mov bh, 0xfc
dec dword [ebx + 0x453bf04d]
hlt
add eax, 0x25
mov word [ecx], ax
jmp 0x41edae
pop es
jmp 0x453778
pop ecx
add edi, ecx
jmp 0x41edaf
call dword [eax + 0x57]
call fcn.00421089
mov edx, dword [ebp - 0x24]
lea edi, [edi + ebx*2]
add esp, 0xc
push 2
pop ecx
jmp 0x41edc6
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 0x41e845
jge 0x4538e8
invalid
pushal
add byte [eax], al
add byte [edx], al
je 0x41e02e
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x40
jmp 0x454c23
hlt
call fcn.0048f717
mov di, word [ebp - 0xf8]
mov ebx, eax
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edi
jmp 0x41e054
cmp word [esi + 4], cx
jne 0x4539c6
add esi, 4
jmp 0x4523eb
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
jmp 0x4523eb
movzx edi, word [esi]
push 0x2b
mov edx, edi
pop eax
mov dword [ebp - 0x74], edx
cmp edx, eax
jne 0x453aad
push 2
pop eax
add esi, eax
push 0x30
mov dword [ebp - 4], esi
pop edi
movzx eax, word [esi]
cmp ax, di
jb 0x453aa6
push 0x39
pop ecx
cmp ax, cx
jbe 0x453ad4
push 0x3f
jmp 0x454bef
push 0x2d
pop eax
cmp edx, eax
jne 0x453ad4
movzx eax, word [esi + 2]
cmp ax, word [ebp - 0xe4]
jb 0x453b45
cmp ax, word [ebp - 0x90]
ja 0x453b45
add esi, 2
mov dword [ebp - 4], esi
xor eax, eax
push 0x30
mov edi, eax
movzx eax, word [esi]
pop ecx
cmp ax, cx
jb 0x453b0f
push 2
pop edx
push 0x39
pop ebx
cmp ax, bx
ja 0x453b09
imul ecx, edi, 0xa
add esi, edx
movzx edi, ax
push 0x30
mov dword [ebp - 4], esi
movzx eax, word [esi]
add ecx, 0xffffffd0
add edi, ecx
pop ecx
cmp ax, cx
jae 0x453ae9
mov edx, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x4c]
cmp word [esi], bx
jne 0x454bbb
push 0x2d
pop eax
cmp edx, eax
jne 0x453cb6
test edi, edi
je 0x454bb7
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 0x40]
sub eax, edi
lea edi, [eax + 1]
test edi, edi
jg 0x453f66
push 0xf
jmp 0x454bef
mov ebx, dword [ebp + 0x28]
xor ecx, ecx
jmp 0x41e8f7
or dword [eax], eax
add byte [eax], cl
add byte [ecx + 0x400644b], al
add byte [eax], al
jmp 0x41e934
add byte [eax], al
or dword [ecx], 8
jmp 0x41e934
inc ebp
sub al, 0x85
sal byte [eax + ecx + 0x39], 8
jne 0x41e96c
lodsd eax, dword [esi]
cld
dec dword [ecx - 0x4b169fad]
lodsd eax, dword [esi]
cld
dec dword [ebx + 0x526ae45d]
mov dword [ebx + 0x60], edx
jmp 0x41e98f
push 0x52
pop edi
mov edx, dword [ebp - 8]
jmp 0x41e59b
cmp dword [eax + 0x40], esi
ja 0x41e68e
mov esi, dword [ebp - 8]
mov ecx, 0x82
mov word [esi], cx
jmp 0x41e66f
stosb byte es:[edi], al
cld
inc dword [ebx - 0x37f40038]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0xa4], ecx
jmp 0x41e694
hlt
push 0x2b
pop eax
cmp edx, eax
jne 0x453f63
test edi, edi
je 0x454bb7
mov edx, dword [ebp + 0x28]
add edi, dword [edx + 0x40]
jmp 0x453f66
movzx edx, word [ecx]
push 0x20
pop eax
cmp edx, eax
mov eax, ebx
jge 0x453f50
mov ecx, edx
shl eax, cl
or dword [edi + 0x50], eax
cmp edx, dword [edi + 0x4c]
jle 0x453f5b
mov dword [edi + 0x4c], edx
mov ecx, dword [edi + 0x24]
jmp 0x45406a
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 0x454058
mov word [eax], cx
test edi, edi
je 0x453f9a
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp - 0x3c]
push edi
mov ecx, dword [eax + 0x14]
call fcn.0048e33e
mov edx, dword [ebp + 0x28]
mov esi, eax
pop ecx
mov eax, ebx
test esi, esi
jne 0x454028
cmp edi, dword [edx + 0x44]
jg 0x454bce
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, 0xffffff38
cmp dword [edx + 0x20], eax
jb 0x453fd8
mov ecx, edx
call fcn.0048e8d4
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
test eax, eax
jne 0x41ef30
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp - 8]
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 - 0x98], ecx
jne 0x41ed2b
or dword [ebp - 0x2c], 0xffffffff
jmp 0x41ed2b
xor ecx, ecx
cmp word [esi + 2], cx
jne 0x454058
cmp dword [ebp + 0x24], ecx
jg 0x454058
push edx
push dword [ebp - 0x3c]
mov edx, eax
mov ecx, esi
push dword [ebp + 0x20]
call fcn.0048e896
add esp, 0xc
test eax, eax
jne 0x454bdb
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x28]
jmp 0x453ff6
mov edx, dword [ebp - 8]
mov eax, dword [ebp + 0x28]
jmp 0x453ff8
movzx eax, word [ecx + 4]
cmp eax, edx
je 0x454070
mov ecx, dword [ecx]
test ecx, ecx
jne 0x454060
jmp 0x454074
mov word [ecx + 6], bx
mov ecx, dword [ebp - 0x48]
mov eax, dword [edi + 0x34]
lea ecx, [ecx + eax*2]
mov eax, 0x8d34478b
or al, 0x41
mov dword [ebp - 0x48], ecx
cmp ecx, esi
jb 0x453f40
jmp 0x41e148
jmp 0x41ed2b
mov edx, dword [ebp - 8]
jmp 0x41ed2b
stosd dword es:[edi], eax
cld
dec dword [ecx - 0x2216b7b2]
stosd dword es:[edi], eax
cld
inc dword [ebx - 0x70f0dd01]
fild qword [ebx - 0x51160004]
loop 0x454126
invalid
invalid
inc dword [ebx - 0x7af0f101]
out dx, eax
stosd dword es:[edi], eax
cld
jmp [edx + 0xd]
mov word [edx], cx
push 2
pop esi
add edx, esi
mov word [edx], ax
add edx, esi
mov ax, word [ebp - 0x38]
mov word [edx], ax
jmp 0x41ed26
inc esi
push cs
mov esi, 0x4b888c
jmp 0x4523e3
cld
push dword [ebx]
shl byte [esi + 0x39], 0x5e
add ch, byte [edx + 0x1f]
cmp dword [esi + 2], ebx
push 0x1f
setne al
dec eax
pop ecx
and eax, 0xffffffee
loopne 0x4541cc
add eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x454c23
cmp eax, 0xfffffffe
jne 0x45422c
or eax, 0xffffffff
mov dword [ebp - 0x2c], eax
mov edi, dword [ebp - 0x64]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x6c], eax
jmp 0x41e4a5
or cl, byte [edi]
mov bh, 6
and eax, ecx
mov dword [ebp - 4], esi
or ebx, eax
add ebx, 0x10000
mov dword [ebp - 0x18], ebx
jmp 0x41e313
mov eax, dword [ebp - 0xc]
sub edi, ecx
sar edi, 1
add dword [edx], edi
mov edi, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x14], edi
jmp 0x41e325
cmp word [esi + 2], cx
jne 0x41e343
xor ecx, ecx
add esi, 2
mov dword [ebp - 0x30], ecx
mov eax, ecx
jmp 0x41e3c8
inc dword [ecx + 0x3b]
retf 0xed72
sub al, 0xff
invalid
cmp word [esi + 4], bx
jne 0x454731
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 0x454731
je 0x45471c
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp + 0xc]
jmp 0x41e355
pop ebp
call 0xe9519cc3
sbb dword [esp + edi*8 + 0x28458bff], ebx
or dword [eax + 0x64], 0x800
jmp 0x41e36d
cmp word [esi + 2], 0x51
jne 0x41eb17
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
jne 0x4547af
push 0x45
pop eax
cmp word [esi + 2], ax
push 4
pop eax
jne 0x4547af
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cld
cmp word [esi], ax
push 4
pop eax
je 0x454773
jmp 0x41eb17
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x30], edi
jmp 0x41eb17
or cl, byte [edi]
mov bh, 6
and eax, ecx
mov dword [ebp - 4], esi
or edi, eax
add edi, 0x10000
mov dword [ebp - 0x18], edi
jmp 0x41eb52
cmp eax, 5
jne 0x454c0a
push 8
pop edi
jmp 0x41eb6f
lahf
add eax, dword [eax]
test eax, eax
je 0x41eb6c
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x53
add byte [ebx], dl
add byte [eax], al
jmp 0x454c23
mov dword [ebp - 0x60], ebx
push 2
pop ebx
add esi, ebx
mov dword [ebp - 4], esi
movzx ebx, word [esi]
mov dword [ebp - 0x18], ebx
test ebx, ebx
jne 0x41e3e1
mov eax, dword [ebp + 0xc]
mov dword [eax], 6
jmp 0x454c23
clc
push 0
pop eax
push 0x1f
pop ecx
setne al
add eax, ecx
push 2
pop ecx
mov word [edi], ax
add edi, ecx
test esi, esi
je 0x45496d
cmp ebx, 0xffff
jbe 0x45496d
mov edx, edi
mov ecx, ebx
call fcn.0048f717
lea edi, [edi + eax*2]
jmp 0x41e45f
mov word [edi], bx
jmp 0x41ec15
jge 0x45493c
add byte [esp + ecx - 0x7f], dh
sti
invalid
mov edx, 0x3ff
and ecx, edx
and eax, edx
shl ecx, 0xa
or ecx, eax
add ecx, 0x10000
jmp 0x41e083
enter 0xffffffffffffc181, 0
add byte [ecx], al
add cl, ch
aad 0x96
cld
inc dword [ebx - 0x7c006bb3]
dec ebp
aam 0xff
jmp 0x41e4a5
inc dword [ebx - 0x16002bb3]
ljmp 0x284d
mov ebp, 0xffffff74
add byte [edi], cl
test byte [edx + ebx*4 + 0x4d83fffc], dh
lodsb al, byte [esi]
inc dword [ebx - 0x16002bb3]
xchg edi, eax
cld
dec dword [edi]
mov bh, 0x7f
dec byte [ebx + 0x7d896841]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x54], eax
jmp 0x41e4a5
aam 0xff
jmp 0x41e148
scasd eax, dword es:[edi]
lcall 0xff74, 0xbd83fffc
invalid
or al, 0x83
invalid
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x54
jmp 0x454c23
push 0x2b
jmp 0x454bef
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x15
jmp 0x41ef30
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x31
jmp 0x454c23
add byte [eax], al
push 0x2a
jmp 0x454bef
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x14
jmp 0x454c23
mov dword [eax], 0x36
jmp 0x41ef30
push 0x3a
jmp 0x454bef
push 0x1d
jmp 0x454bef
mov eax, dword [ebp + 0xc]
push 0xf
pop ecx
mov dword [eax], ecx
jmp 0x41ef30
cld
dec dword [ebx + 0xc70c45]
sub byte [eax], al
add byte [eax], al
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x28
jmp 0x41ef30
mov eax, dword [ebp + 0xc]
pop ecx
mov dword [eax], ecx
jmp 0x454c23
pop es
add byte [eax], al
add bl, ch
and al, 0xc7
add al, byte [edi]
add byte [eax], al
jmp 0x41ef30
inc edi
add byte [eax], al
add cl, ch
mov dword es:[0x1c7fffc], eax
push ebx
add byte [eax], al
add bl, ch
adc edi, eax
add dword [eax], ecx
add byte [eax], al
add bl, ch
or dword [ebx + 0xc70c45], ecx
xor al, 0
add byte [eax], al
mov dword [ecx], 0x53
jmp 0x454c23