Function at 0x464bf4
Capabilities:
Persist via run registry key

Disassembly:
je 0x4645e0
arpl word [ebx + 0x38], si
add eax, dword [eax]
add byte [edi], al
add byte [ebx], cl
inc ecx
insb byte es:[edi], dx
insb byte es:[edi], dx
outsd dx, dword [esi]
ja 0x4645c7
jne 0x4645fc
push 0x33c4449
add byte [eax], al
pop es
add byte [esi], cl
inc ebx
outsd dx, dword [esi]
outsd dx, dword [esi]
imul ebp, dword [ecx + 0x65], 0x73
inc ebp
outsb dx, byte [esi]
popal
bound ebp, qword [ebp + 0x64]
inc eax
add eax, dword [eax]
add byte [eax + eax], al
or dword [edi + 0x72], eax
outsd dx, dword [esi]
jne 0x46461c
inc edx
outsd dx, dword [esi]
js 0x4645e6
inc esp
add eax, dword [eax]
add byte [esi], al
add byte [edx], cl
dec esi
outsd dx, dword [esi]
push eax
jb 0x46462b
js 0x464637
inc esi
outsd dx, dword [esi]
jb 0x46460a
add eax, dword [eax]
add byte [edi], al
add byte [edi], cl
push eax
dec esi
inc ecx
push eax
jb 0x46463d
invalid
js 0x464649
push ebx
jne 0x464643
jo 0x464644
jb 0x46464b
dec esp
add eax, dword [eax]
add byte [eax], cl
add byte [eax + edx*2], cl
dec esi
inc ecx
push eax
jb 0x464653
js 0x46465f
dec eax
outsd dx, dword [esi]
jae 0x46465e
push eax
add eax, dword [eax]
add byte [esi], al
add byte [eax + edx*2], cl
dec esi
inc ecx
push eax
jb 0x464666
js 0x464672
push eax
outsd dx, dword [esi]
jb 0x464671
je 0x464652
push esp
add eax, dword [eax]
add byte [edi], al
add byte [eax], dl
push edx
push esp
push ebx
push eax
push eax
jb 0x46467a
outsd dx, dword [esi]
js 0x464686
push ebx
jne 0x464680
jo 0x464681
jb 0x464688
pop eax
add eax, dword [eax]
add byte [eax], cl
add byte [0x50535452], cl
push esp
push ebx
push eax
push eax
jb 0x464691
js 0x46469d
dec eax
outsd dx, dword [esi]
jae 0x46469c
pop esp
add eax, dword [eax]
add byte [esi], al
add byte [0x50535452], cl
push eax
jb 0x4646a5
js 0x4646b1
jns 0x464689
push eax
outsd dx, dword [esi]
jb 0x4646b0
pushal
add eax, dword [eax]
add byte [edi], al
add byte [edx], cl
push ebp
jae 0x4646ab
push ebp
inc esp
push eax
push eax
outsd dx, dword [esi]
jb 0x4646c1
add eax, dword fs:[eax]
add byte [eax], cl
add byte [edi], al
pop es
push ebp
inc esp
push eax
push eax
outsd dx, dword [esi]
jb 0x4646cf
push 0x4000003
add byte [ecx], cl
inc edi
jb 0x4646d4
add byte [eax + eax], al
add al, 0
or dword [edi + 0x72], eax
outsd dx, dword [esi]
jne 0x4646d7
jo 0x4646aa
inc edx
outsd dx, dword [esi]
js 0x4646a2
insb byte es:[edi], dx
add eax, dword [eax]
add byte [esi], al
add byte [edi], al
pop es
dec ebp
popal
imul ebp, dword [esi + 0x41], 0x3707070
add byte [eax], al
add byte [eax], al
pop es
add eax, dword [eax]
add byte [eax], al
add byte [edi], al
inc edx
jne 0x4646f7
je 0x4646f4
outsb dx, byte [esi]
xor dword [ebx + eax], esi
add eax, dword [eax]
add byte [eax], al
push es
add byte [esi], al
add byte [esi], cl
push eax
insb byte es:[edi], dx
jne 0x4646f9
imul ebp, dword [bp + 0x46], 0x50656c69
imul ebp, dword [esi + 0x46], 0x50656c69
insb byte es:[edi], dx
push eax
popal
je 0x464704
js 0x4646a1
add eax, dword [eax]
add byte [esi], al
add byte [eax], al
push es
add byte [ecx], cl
inc esp
or dword [esp + edx*2 + 0x5f], eax
push esp
pop edi
inc ebx
outsd dx, dword [esi]
insd dword es:[edi], dx
insd dword es:[edi], dx
outsd dx, dword [esi]
outsb dx, byte [esi]
jl 0x4646b1
add byte [eax], al
push es
add byte [ecx], cl
inc esp
push esp
pop edi
push eax
insb byte es:[edi], dx
jne 0x464721
imul ebp, dword [esi - 0x80], 3
add byte [edi], al
inc edx
jne 0x46473a
je 0x464737
outsb dx, byte [esi]
xor al, byte [ebx + eax]
pop es
add byte [edi], al
inc edx
jne 0x464748
je 0x464745
outsb dx, byte [esi]
xor ecx, dword [eax + 3]
add byte [edi], al
inc edx
jne 0x464756
je 0x464753
outsb dx, byte [esi]
xor al, 0x8c
add eax, dword [eax]
add byte [eax + eax], al
or dword [edi + 0x72], eax
outsd dx, dword [esi]
jne 0x464762
inc edx
outsd dx, dword [esi]
js 0x464727
nop
add eax, dword [eax]
add byte [esi], al
add byte [edx + esi*2], al
je 0x464773
jo 0x464696
add eax, dword [eax]
add byte [esi], al
add byte [ebx], al
insd dword es:[edi], dx
insd dword es:[edi], dx
jae 0x4646a4
add eax, dword [eax]
add byte [esi], al
add byte [ebx], al
jo 0x464782
insd dword es:[edi], dx
pushfd
add eax, dword [eax]
add byte [eax], al
add byte [ebx], cl
inc edx
jne 0x464793
je 0x464790
outsb dx, byte [esi]
pop edi
jb 0x464799
jae 0x464797
mov al, byte [3]
add byte [edx], cl
inc edx
jne 0x4647a5
je 0x4647a2
outsb dx, byte [esi]
pop edi
insd dword es:[edi], dx
insd dword es:[edi], dx
jae 0x4646dd
add eax, dword [eax]
add byte [eax], al
add byte [edx], cl
inc edx
jne 0x4647b6
add byte [eax], al
add byte [eax], al
or al, byte [edx + 0x75]
je 0x4647b7
je 0x4647b3
outsd dx, dword [esi]
outsb dx, byte [esi]
pop edi
jo 0x4647b6
insd dword es:[edi], dx
test al, 3
add byte [eax], al
add al, 0
or dword [edi + 0x72], eax
outsd dx, dword [esi]
jne 0x4647c5
inc edx
outsd dx, dword [esi]
js 0x464791
lodsb al, byte [esi]
add eax, dword [eax]
add byte [ecx], al
add byte [esi], al
dec esp
popal
bound esp, qword [ebp + 0x6c]
xor dword [eax + 0x1000003], esi
add byte [esi], al
dec esp
popal
bound esp, qword [ebp + 0x6c]
xor al, 0xb4
add eax, dword [eax]
add byte [edi], al
mov ah, 3
add byte [eax], al
pop es
add byte [ebx], cl
inc ebx
push 0x426b6365
outsd dx, dword [esi]
js 0x4647e2
pop edi
jb 0x4647e6
mov eax, 0x7000003
add byte [ebx + eax*2], cl
push 0x426b6365
imul eax, dword [edx + 0x6f], 0x78
pop edi
inc edx
outsd dx, dword [esi]
js 0x4647f4
jb 0x4647f8
insd dword es:[edi], dx
mov esp, 0x7000003
add eax, dword [eax]
add byte [edi], al
add byte [ebx], cl
inc ebx
push 0x426b6365
arpl word [ebx + 0x42], bp
outsd dx, dword [esi]
js 0x464807
jb 0x464817
rol byte [ebx], 0
add byte [edi], al
add byte [0x63656843], cl
imul eax, dword [edx + 0x6f], 0x78
pop edi
arpl word gs:[ebx + 0x42], bp
inc edx
outsd dx, dword [esi]
js 0x464819
jb 0x464829
jbe 0x464820
les eax, [ebx]
add byte [eax], al
pop es
add byte [ebx], cl
inc ebx
push 0x426b6365
outsd dx, dword [esi]
js 0x46482d
jb 0x464840
enter 3, 0
pop es
add byte [ebx + eax*2], cl
push 0x426b6365
outsd dx, dword [esi]
js 0x46483f
jb 0x464852
insd dword es:[edi], dx
int3
add byte [edi], al
add byte [ebx], cl
inc ebx
push 0x426b6365
outsd dx, dword [esi]
js 0x464852
jb 0x464869
je 0x4647c6
rol byte [ebx], 1
add byte [eax], al
pop es
add eax, dword [eax]
add byte [edi], al
add byte [ebx + eax*2], cl
push 0x426b6365
outsd dx, dword [esi]
js 0x464864
jae 0x464874
imul edx, esp, 0x7000003
pop es
add byte [0x63656843], cl
imul eax, dword [edx + 0x6f], 0x78
pop edi
jae 0x464887
insd dword es:[edi], dx
imul ebp, dword [eax + ebx*8 + 3], 0x70000
pop es
add byte [ebx + eax*2], cl
or al, 0x43
push 0x426b6365
outsd dx, dword [esi]
js 0x46488b
insd dword es:[edi], dx
outsd dx, dword [esi]
jbe 0x46480c
add eax, dword [eax]
add byte [edi], al
add byte [ebx], cl
inc ebx
push 0x426b6365
outsd dx, dword [esi]
js 0x46489e
jno 0x4648b5
je 0x464822
loopne 0x464846
add eax, dword [eax]
add byte [eax], al
add byte [eax], al
add byte [eax], al
pop es
add byte [edi], al
inc edx
jne 0x4648bf
je 0x4648bc
outsb dx, byte [esi]
xor eax, 0x3e4
push es
add byte [esi], al
add byte [ecx], cl
inc esp
push esp
pop edi
inc ebx
outsd dx, dword [esi]
arpl word gs:[ebx - 0x18], si
add eax, dword [eax]
add byte [ecx], cl
add byte [0x6f6d654d], al
outsd dx, dword [esi]
xor esp, ebp
add eax, dword [eax]
add byte [eax], al
add byte [0x74747542], cl
je 0x4648ea
outsd dx, dword [esi]
outsb dx, byte [esi]
pop edi
jae 0x4648e0
insb byte es:[edi], dx
arpl word gs:[eax + esi*8 + 3], si
add byte [eax], al
or al, byte [eax]
or ecx, dword [edi + 0x70]
outsb dx, byte gs:[esi]
jo 0x4648ee
outsb dx, byte [esi]
inc esp
imul esp, dword [ecx + 0x6c], 0xf431676f
add eax, dword [eax]
add byte [eax], al
add byte [edx], cl
inc edx
jne 0x46490f
je 0x46490c
outsb dx, byte [esi]
pop edi
push edx
clc
add eax, dword [eax]
add byte [eax], al
add byte [edx + eax*2], cl
jne 0x464920
je 0x46491d
outsb dx, byte [esi]
pop edi
inc ebx
insb byte es:[edi], dx
popal
jb 0x4648b2
cld
add eax, dword [eax]
add byte [ebx], cl
add byte [edx + edx*2], cl
push edx
popal
imul ebp, dword fs:[edi + 0x42], 0x6f747475
imul ebp, dword [edi + 0x42], 0x6f747475
outsb dx, byte [esi]
xor dword [eax], eax
add al, 0
add byte [ebx], cl
add byte [edx + edx*2], cl
popal
imul ebp, dword fs:[edi + 0x42], 0x6f747475
outsb dx, byte [esi]
xor al, byte [esp + eax]
add byte [eax], al
add byte [eax], al
push cs
add byte [esi], cl
inc edx
jne 0x464959
je 0x464956
outsb dx, byte [esi]
pop edi
inc esp
popaw
jne 0x46495b
insb byte es:[edi], dx
je 0x4648f9
add al, 0
add byte [eax + eax], al
or dword [edi + 0x72], eax
outsd dx, dword [esi]
jne 0x46496c
inc edx
outsd dx, dword [esi]
js 0x464939
or al, 4
add byte [eax], al
or al, 0
pop es
push ecx
jne 0x46496b
insb byte es:[edi], dx
imul esi, dword [ecx + edi*2 + 0x10], 0x1000004
je 0x464987
adc byte [eax + eax], al
add al, 0
add byte [ecx], al
add byte [esi], al
dec esp
popal
bound esp, qword [ebp + 0x6c]
adc al, 4
add byte [eax], al
add dword [eax], eax
push es
add byte [esi], al
dec esp
popal
bound esp, qword [ebp + 0x6c]
aaa
sbb byte [eax + eax], al
add byte [edi], al
add byte [eax], cl
push eax
insb byte es:[edi], dx
popal
jns 0x464996
popal
arpl word [ebx + 0x1e], bp
add byte [ecx], dl
add ah, dh
dec ebx
inc esi
add byte [edx], cl
inc esi
outsd dx, dword [esi]
jb 0x4649b1
adc dword [eax], eax
hlt
inc ebx
jb 0x4649ac
popal
je 0x4649af
sbb dword [eax], eax
mov esp, 0x12004667
inc edx
jne 0x4649c8
je 0x4649c5
outsb dx, byte [esi]
pop edi
inc ebx
popal
outsb dx, byte [esi]
arpl word [ebp + 0x6c], sp
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x67c40017
inc esi
add byte [eax], dl
inc edx
jne 0x4649e1
je 0x4649e2
je 0x4649de
outsd dx, dword [esi]
outsb dx, byte [esi]
pop edi
jb 0x4649e7
jae 0x4649e5
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x68d00016
inc esi
add byte [edi], cl
inc edx
jne 0x4649f8
je 0x4649f5
outsb dx, byte [esi]
pop edi
insd dword es:[edi], dx
insd dword es:[edi], dx
jae 0x4649cf
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x69dc0016
inc esi
add byte [edi], cl
inc edx
jne 0x464a0e
cmovb esi, dword [ebp + 0x74]
je 0x464a0b
outsb dx, byte [esi]
pop edi
jo 0x464a0e
insd dword es:[edi], dx
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x6ae8001b
inc esi
add byte [eax + edx*2], dl
adc al, 0x50
dec esi
inc ecx
push eax
jb 0x464a22
js 0x464a2e
push ebx
jne 0x464a28
jo 0x464a29
jb 0x464a30
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x6b9c0015
inc esi
add byte [esi], cl
inc edx
jne 0x464a3f
je 0x464a3c
outsb dx, byte [esi]
pop edi
dec edi
dec ebx
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x7e6c0016
inc esi
add byte [edi], cl
push ebp
jae 0x464a45
push ebp
inc esp
push eax
push eax
outsd dx, dword [esi]
jb 0x464a5b
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x7e8c0019
inc esi
add byte [edx], dl
inc edx
jne 0x464a6a
je 0x464a6b
je 0x464a67
outsd dx, dword [esi]
outsb dx, byte [esi]
pop edi
jae 0x464a61
insb byte es:[edi], dx
arpl word gs:[ebx + eax*2 + 0x6c], si
imul esp, dword [ebx + 0x6b], 0x6654000c
inc esi
add byte [0x65657073], al
add eax, 0x65657073
push cs
push cs
add byte [eax], dh
pop esi
inc esi
add byte [edi], al
js 0x464a8f
jb 0x464a82
popal
adc byte fs:[eax], al
cmp byte [eax + 0x73090046], al
insb byte es:[edi], dx
add byte [esi], 9
jae 0x464a8d
insb byte es:[edi], dx
arpl word gs:[esp + 0x69], si
jb 0x464a3f
add byte [eax], al
inc esi
add byte [eax], cl
js 0x464aad
ja 0x464aad
imul esi, dword [ebp + 0x10], 0x46653800
je 0x464aa3
adc byte [eax], al
cmp byte [ebp + 0x46], ah
add byte [eax], bh
inc esi
add byte [ecx], cl
js 0x464abc
insb byte es:[edi], dx
je 0x464ab3
adc eax, dword [eax]
js 0x464ad1
inc esi
add byte [edx + eax*2], cl
jne 0x464acc
je 0x464ac9
outsb dx, byte [esi]
xor dword [ebx + 0x6c], eax
imul esp, dword [ebx + 0x6b], 0x7fdc0013
inc esi
adc eax, dword [eax]
fdivr qword [edi + 0x46]
add byte [edx + eax*2], cl
or al, 0x42
jne 0x464adf
je 0x464ae0
je 0x464adc
outsd dx, dword [esi]
outsb dx, byte [esi]
xor al, byte [ebx + 0x6c]
imul esp, dword [ebx + 0x6b], 0x81080013
inc esi
add byte [edx + eax*2], cl
jne 0x464af2
je 0x464aef
outsb dx, byte [esi]
xor eax, 0x63696c43
imul edx, dword [ebx], 0
add dword fs:[esi], 0x7475420c
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x81640013
inc esi
add byte [edx + eax*2], cl
or al, 0x42
jne 0x464b05
je 0x464b02
outsb dx, byte [esi]
xor eax, dword [ebx + 0x6c]
imul esp, dword [ebx + 0x6b], 0x81c00013
inc esi
add byte [edx + eax*2], cl
jne 0x464b18
je 0x464b19
je 0x464b15
outsd dx, dword [esi]
outsb dx, byte [esi]
xor al, 0x43
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x821c001a
sbb al, byte [eax]
sbb al, 0x82
inc esi
add byte [ebx], dl
inc edx
jne 0x464b2b
adc eax, dword [edx + 0x75]
je 0x464b2c
je 0x464b28
outsd dx, dword [esi]
outsb dx, byte [esi]
pop edi
inc esp
popaw
jne 0x464b2d
je 0x464b06
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x842c0014
sub al, 0x84
inc esi
add byte [0x53626154], cl
push ebx
push 0x32746565
push ebx
push 0x14776f
push 0xd004684
push esp
popal
bound edx, qword [ebx + 0x68]
je 0x464b1c
add byte [eax - 0x7c], ch
inc esi
add byte [0x53626154], cl
push 0x31746565
push ebx
push 0x16776f
les ecx, [edi + 0x420f0046]
jne 0x464b6d
push ss
add ah, al
pop dword [esi]
cmovb esi, dword [ebp + 0x74]
je 0x464b6a
outsb dx, byte [esi]
pop edi
push edx
inc ebx
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x84a4000e
inc esi
add byte [edi], al
jb 0x464b73
push cs
add byte [esp + eax*4 + 0x72070046], ah
jb 0x464b76
jb 0x464b76
popal
insb byte es:[edi], dx
adc eax, dword [eax]
cmp al, 0x93
inc esi
add byte [edx + esi*2], cl
or al, 0x72
jno 0x464b94
jno 0x464b94
imul esp, dword [ebx + 0x6b], 0x656d6974
sbb byte [eax], al
jl 0x464abf
inc esi
add byte [ecx], dl
adc dword [edx + 0x75], eax
je 0x464ba5
inc edx
jne 0x464ba4
je 0x464ba1
outsd dx, dword [esi]
outsb dx, byte [esi]
pop edi
inc ebx
insb byte es:[edi], dx
popal
jb 0x464b7d
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x90400018
inc esi
add byte [ecx], dl
push edx
popal
imul ebp, dword fs:[edi + 0x42], 0x6f747475
outsb dx, byte [esi]
xor dword [ebx + 0x6c], eax
imul esp, dword [ebx + 0x6b], 0x921c0018
inc esi
add byte [ecx], dl
push edx
popal
imul ebp, dword fs:[edi + 0x42], 0x6f747475
outsb dx, byte [esi]
xor al, byte [ebx + 0x6c]
insb byte es:[edi], dx
imul esp, dword [ebx + 0x6b], 0x960c000e
imul ecx, dword [esi], 0
or al, 0x96
inc esi
add byte [edi], al
insb byte es:[edi], dx
insb byte es:[edi], dx
jb 0x464bdf
popal
insb byte es:[edi], dx
adc eax, dword [eax]
push 0xc00469f
insb byte es:[edi], dx
add byte [eax - 0x61], ch
inc esi
add byte [esp], cl
insb byte es:[edi], dx
jno 0x464bfd
imul esp, dword [ebx + 0x6b], 0x656d6974
or dl, byte [esi + eax*2 + 0x6f]
jb 0x464c02
insd dword es:[edi], dx
pop edi
insd dword es:[edi], dx
popal
imul ebp, dword [esi + 0xd], 0x42ebb800
add byte [eax - 0x43], al
inc edx
add byte [eax - 1], ah
mov ebp, 0xff600042
pushal
inc dword [ebp]
cwde
stc
inc ebp
add byte [esp + esi*4 - 0x201bffbe], dh
inc edx
add byte [ebx + edx*2 + 0x43], bh
inc ebp
add byte [eax - 0x4bffba07], bl
mov ah, 0x42
add ah, ah
fild word [edx]
jl 0x464c09
inc ebx
add byte [eax - 0xc], cl
inc edx
add al, bl
lds eax, [edx]
movsb byte es:[edi], byte [esi]
rol byte [edx], 1
cmp al, 0x67
inc ebx
add byte [ebx + edi*8 + 0x42], dh
add byte [eax], dl
or dword [esi], eax
aam 0x4b
inc esi
add byte [edi], al
or dl, byte [esi + eax*2 + 0x6f]
jb 0x464c48
pop edi
insd dword es:[edi], dx
popal
imul ebp, dword [esi + 0x18], 0xec004643
outsb dx, byte [esi]
sbb byte [ebx + 0x46], al
add ah, ch
xor al, 0x45
add byte [eax + eax + 5], bl
jae 0x464c52
je 0x464c64
jo 0x464bf1
add byte [ebx - 0x1374aa40], cl
mov ecx, 0x12
push 0
push 0
add byte [edx], ch
dec ecx
jne 0x464bfc
stc
push ebx
push esi
mov ebx, eax
xor eax, eax
push ebp
push 0x4655f1
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, dword [ebx + 0x404]
call fcn.0043dae0
xor edx, edx
mov eax, dword [ebx + 0x3f4]
call fcn.0043dae0
xor edx, edx
mov eax, dword [ebx + 0x3f8]
call fcn.0043dae0
mov byte [ebx + 0x428], 0
mov edx, 4
mov eax, dword [ebx + 0x40c]
call fcn.004639e8
mov dl, 1
mov eax, dword [ebx + 0x418]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov dl, 1
mov eax, dword [0x45eb1c]
push dword [edx + 0x18838b01]
add al, 0
add byte [ebx - 0x376e00f8], cl
add byte [eax], al
add byte [edx - 0x14e35eff], dh
inc ebp
add al, ch
lodsd eax, dword [esi]
lahf
invalid
add dword [ecx + 0x45eb1c], esp
call fcn.0045ec1c
mov esi, eax
mov edx, 0x80000002
mov eax, esi
call fcn.0045ecbc
xor ecx, ecx
mov edx, 0x465608
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464ce0
mov edx, 0x465640
mov eax, esi
call fcn.0045f254
test al, al
je 0x464ce0
lea ecx, [ebp - 4]
mov edx, 0x465640
mov eax, esi
call fcn.0045f0ec
lea eax, [ebp - 4]
push eax
mov eax, dword [ebp - 4]
call fcn.004045d0
mov ecx, eax
sub ecx, 0xe
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00404828
mov eax, dword [ebp - 4]
call fcn.00408988
mov edx, 0x465640
mov eax, esi
call fcn.0045efc0
mov eax, esi
call fcn.0045ec8c
mov edx, 0x80000001
mov eax, esi
call fcn.0045ecbc
xor ecx, ecx
mov edx, 0x465658
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464d2b
lea ecx, [ebp - 8]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 8]
mov eax, ebx
call fcn.00466654
mov edx, eax
mov eax, dword [ebx + 0x318]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor ecx, ecx
mov edx, 0x4656a0
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464d63
lea ecx, [ebp - 0xc]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0xc]
mov eax, ebx
call fcn.00466654
mov edx, eax
mov eax, dword [ebx + 0x31c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor ecx, ecx
mov edx, 0x4656ec
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464d96
lea ecx, [ebp - 0x10]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov eax, dword [ebp - 0x10]
call fcn.004086fc
mov edx, eax
mov eax, dword [ebx + 0x40c]
call fcn.004639e8
xor ecx, ecx
mov edx, 0x465730
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464dc2
lea ecx, [ebp - 0x14]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x324]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465780
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464dee
lea ecx, [ebp - 0x18]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x18]
mov eax, dword [ebx + 0x328]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x4657d0
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464e1a
lea ecx, [ebp - 0x1c]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebx + 0x32c]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x46581c
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464e69
lea ecx, [ebp - 0x20]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov eax, dword [ebp - 0x20]
mov edx, 0x465868
call fcn.00404714
jne 0x464e59
mov dl, 1
mov eax, dword [ebx + 0x334]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x464e69
xor edx, edx
mov eax, dword [ebx + 0x334]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor ecx, ecx
mov edx, 0x465874
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464eb8
lea ecx, [ebp - 0x24]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov eax, dword [ebp - 0x24]
mov edx, 0x465868
call fcn.00404714
jne 0x464ea8
mov dl, 1
mov eax, dword [ebx + 0x338]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x464eb8
xor edx, edx
mov eax, dword [ebx + 0x338]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor ecx, ecx
mov edx, 0x4658bc
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464f07
lea ecx, [ebp - 0x28]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov eax, dword [ebp - 0x28]
mov edx, 0x465868
call fcn.00404714
jne 0x464ef7
mov dl, 1
mov eax, dword [ebx + 0x33c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x464f07
xor edx, edx
mov eax, dword [ebx + 0x33c]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor ecx, ecx
mov edx, 0x465908
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464f33
lea ecx, [ebp - 0x2c]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x344]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465950
mov eax, esi
call fcn.0045ed24
test al, al
je 0x465005
lea ecx, [ebp - 0x30]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov eax, dword [ebp - 0x30]
mov edx, 0x465868
call fcn.00404714
jne 0x464fdb
mov dl, 1
mov eax, dword [ebx + 0x348]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov dl, 1
mov eax, dword [ebx + 0x344]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor ecx, ecx
mov edx, 0x46599c
mov eax, esi
call fcn.0045ed24
test al, al
je 0x464fad
lea ecx, [ebp - 0x34]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x34]
mov eax, dword [ebx + 0x34c]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x4659e8
mov eax, esi
call fcn.0045ed24
test al, al
je 0x465005
lea ecx, [ebp - 0x38]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x38]
mov eax, dword [ebx + 0x350]
call fcn.0043dbf0
jmp 0x465005
xor edx, edx
mov eax, dword [ebx + 0x348]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor edx, edx
mov eax, dword [ebx + 0x34c]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor edx, edx
mov eax, dword [ebx + 0x350]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor ecx, ecx
mov edx, 0x465a34
mov eax, esi
call fcn.0045ed24
test al, al
je 0x4650d7
lea ecx, [ebp - 0x3c]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov eax, dword [ebp - 0x3c]
mov edx, 0x465868
call fcn.00404714
jne 0x4650ad
mov dl, 1
mov eax, dword [ebx + 0x354]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov dl, 1
mov eax, dword [ebx + 0x344]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor ecx, ecx
mov edx, 0x465a84
mov eax, esi
call fcn.0045ed24
test al, al
je 0x46507f
lea ecx, [ebp - 0x40]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x40]
mov eax, dword [ebx + 0x358]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465ad0
mov eax, esi
call fcn.0045ed24
test al, al
je 0x4650d7
lea ecx, [ebp - 0x44]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x44]
mov eax, dword [ebx + 0x35c]
call fcn.0043dbf0
jmp 0x4650d7
xor edx, edx
mov eax, dword [ebx + 0x354]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor edx, edx
mov eax, dword [ebx + 0x358]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor edx, edx
mov eax, dword [ebx + 0x35c]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [ebx + 0x348]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
jne 0x46510a
mov eax, dword [ebx + 0x354]
mov edx, dword [eax]
call dword [edx + 0xc4]
test al, al
jne 0x46510a
xor edx, edx
mov eax, dword [ebx + 0x344]
mov ecx, dword [eax]
call dword [ecx + 0x64]
jmp 0x465117
mov dl, 1
mov eax, dword [ebx + 0x344]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor ecx, ecx
mov edx, 0x465b1c
mov eax, esi
call fcn.0045ed24
test al, al
je 0x46519f
lea ecx, [ebp - 0x48]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov eax, dword [ebp - 0x48]
mov edx, 0x465868
call fcn.00404714
jne 0x465182
mov dl, 1
mov eax, dword [ebx + 0x360]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor ecx, ecx
mov edx, 0x465b64
mov eax, esi
call fcn.0045ed24
test al, al
je 0x46519f
lea ecx, [ebp - 0x4c]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x364]
call fcn.0043dbf0
jmp 0x46519f
xor edx, edx
mov eax, dword [ebx + 0x360]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
xor edx, edx
mov eax, dword [ebx + 0x364]
mov ecx, dword [eax]
call dword [ecx + 0x64]
xor ecx, ecx
mov edx, 0x465ba8
mov eax, esi
call fcn.0045ed24
test al, al
je 0x4651ee
lea ecx, [ebp - 0x50]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov eax, dword [ebp - 0x50]
mov edx, 0x465868
call fcn.00404714
jne 0x4651de
mov dl, 1
mov eax, dword [ebx + 0x418]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
jmp 0x4651ee
xor edx, edx
mov eax, dword [ebx + 0x418]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, esi
call fcn.0045ec8c
mov edx, 0x80000000
mov eax, esi
call fcn.0045ecbc
xor ecx, ecx
mov edx, 0x465bf8
mov eax, esi
call fcn.0045ed24
test al, al
je 0x46522d
lea ecx, [ebp - 0x54]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x54]
mov eax, dword [ebx + 0x390]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465c1c
mov eax, esi
call fcn.0045ed24
test al, al
je 0x465259
lea ecx, [ebp - 0x58]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x58]
mov eax, dword [ebx + 0x394]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465c3c
mov eax, esi
call fcn.0045ed24
test al, al
je 0x465285
lea ecx, [ebp - 0x5c]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebx + 0x398]
call fcn.0043dbf0
lea eax, [ebx + 0x41c]
push eax
lea edx, [ebp - 0x60]
mov eax, dword [ebx + 0x398]
call fcn.0043dbc0
mov eax, dword [ebp - 0x60]
call fcn.004045d0
sub eax, 7
push eax
lea edx, [ebp - 0x64]
mov eax, dword [ebx + 0x390]
call fcn.0043dbc0
mov eax, dword [ebp - 0x64]
mov edx, 2
pop ecx
call fcn.00404828
lea eax, [ebx + 0x420]
push eax
lea edx, [ebp - 0x68]
mov eax, dword [ebx + 0x398]
call fcn.0043dbc0
mov eax, dword [ebp - 0x68]
call fcn.004045d0
sub eax, 7
push eax
lea edx, [ebp - 0x6c]
mov eax, dword [ebx + 0x394]
call fcn.0043dbc0
mov eax, dword [ebp - 0x6c]
mov edx, 2
pop ecx
call fcn.00404828
lea eax, [ebx + 0x424]
push eax
lea edx, [ebp - 0x70]
mov eax, dword [ebx + 0x398]
call fcn.0043dbc0
mov eax, dword [ebp - 0x70]
call fcn.004045d0
sub eax, 7
push eax
lea edx, [ebp - 0x74]
mov eax, dword [ebx + 0x398]
call fcn.0043dbc0
mov eax, dword [ebp - 0x74]
mov edx, 2
pop ecx
call fcn.00404828
xor ecx, ecx
mov edx, 0x465c5c
mov eax, esi
call fcn.0045ed24
test al, al
je 0x465368
lea ecx, [ebp - 0x78]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x78]
mov eax, dword [ebx + 0x36c]
call fcn.0043dbf0
lea edx, [ebp - 0x7c]
mov eax, dword [ebx + 0x36c]
call fcn.0043dbc0
cmp dword [ebp - 0x7c], 0
jne 0x46539f
lea eax, [ebp - 0x80]
call fcn.00408b14
lea eax, [ebp - 0x80]
mov edx, 0x465ca0
call fcn.004045d8
mov edx, dword [ebp - 0x80]
mov eax, dword [ebx + 0x36c]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465cb8
mov eax, esi
call fcn.0045ed24
test al, al
je 0x4653d1
lea ecx, [ebp - 0x84]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x84]
mov eax, dword [ebx + 0x374]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465d04
mov eax, esi
call fcn.0045ed24
test al, al
je 0x465403
lea ecx, [ebp - 0x88]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x88]
mov eax, dword [ebx + 0x3e4]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465d3c
mov eax, esi
call fcn.0045ed24
test al, al
je 0x465435
lea ecx, [ebp - 0x8c]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebx + 0x378]
call fcn.0043dbf0
xor ecx, ecx
mov edx, 0x465d74
mov eax, esi
call fcn.0045ed24
test al, al
je 0x465467
lea ecx, [ebp - 0x90]
xor edx, edx
mov eax, esi
call fcn.0045f0ec
mov edx, dword [ebp - 0x90]
mov eax, dword [ebx + 0x37c]
call fcn.0043dbf0
mov edx, 0x465dac
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3b4]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465db8
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3b8]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465dc4
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3bc]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465dd0
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3c0]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465de0
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3c4]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465dec
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3c8]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465df8
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3cc]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465e04
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3d0]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465e10
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3d4]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465e20
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3d8]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov edx, 0x465e2c
mov eax, ebx
call fcn.00465e30
mov edx, eax
mov eax, dword [ebx + 0x3dc]
mov ecx, dword [eax]
call dword [ecx + 0xc8]
mov eax, esi
call fcn.0045ec8c
mov eax, esi
call fcn.004035c4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4655f8
lea eax, [ebp - 0x90]
mov edx, 5
call fcn.0040433c
lea eax, [ebp - 0x7c]
call fcn.00404318
lea eax, [ebp - 0x78]
call fcn.00404318
lea eax, [ebp - 0x74]
mov edx, 6
call fcn.0040433c
lea eax, [ebp - 0x5c]
mov edx, 0x17
call fcn.0040433c
ret