Function at 0x51dea8
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x558e20
push 0x52f320
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
mov eax, 0x1ae8
call fcn.0052ec20
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x2c], 0
push 3
push 0
call fcn.00524283
add esp, 8
push 0x554d08
call dword [fcn.0055407c]
mov dword [ebp - 0x28], eax
push 0x554ce8
mov eax, dword [ebp - 0x28]
push eax
call dword [fcn.00554074]
mov dword [ebp - 0xe8], eax
cmp dword [ebp - 0xe8], 0
je 0x51df24
push 1
push pe_nt_image_headers32
call dword [ebp - 0xe8]
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x51df47
jmp 0x51df68
xor ebx, ebx
je 0x51df4b
jmp 0x51df5a
mov ecx, 0x34f9c987
nop
stc
je 0x51df5e
jmp 0x51df8e
xor eax, eax
je 0x51df50
mov eax, 0x4840c987
test eax, eax
jne 0x51df44
jmp 0x92b87ccd
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
mov dword [ebp - 0xdc], 0x94
lea ecx, [ebp - 0xdc]
push ecx
call dword [fcn.005541b0]
jo 0x51df90
jl 0x51df8e
jmp 0x51df92
je 0x51df8b
jmp 0x51df8b
cmp dword [ebp - 0xcc], 2
jne 0x51dfa4
add dh, byte [ebp + 9]
mov byte [0x55b420], 1
jmp 0x51dfc0
cmp dword [ebp - 0xd8], 4
jne 0x51dfbb
cmp dword [ebp - 0xd4], 0x5a
jb 0x51dfbb
call fcn.00523eb0
call fcn.00523f86
xor edx, edx
mov dl, byte [0x55b420]
test edx, edx
jne 0x51dfd2
and byte [ebp + edx*2 + 0x75d28500], dh
push es
cli
not esp
not esp
sti
mov eax, dword [0x5543c8]
xor eax, dword [0x5543d8]
xor eax, dword [0x5543ac]
and eax, 4
test eax, eax
je 0x51dff1
mov byte [0x55b3e1], 1
pushal
xor eax, eax
jne 0x51dff8
jmp 0x51e00d
jmp 0x51e02d
xor eax, eax
jne 0x51e015
jp 0x51e00b
jo 0x51e00f
jmp 0x51e010
jb 0x51e014
jns 0x51dff9
call dword [0x74097900]
invalid
jns 0x51e016
je 0x51dfff
jmp 0x51df98
xchg ebx, ebx
jp 0x51e004
mov al, byte [0xf7506133]
ror byte [edi], 1
enter 0x7358, 0
xor esp, dword [ecx + 0x50]
popal
push eax
not eax
bswap eax
pop eax
jae 0x51e01f
pushfd
pushal
jmp 0x51e04e
sub edx, edx
jo 0x51e034
push cs
jmp 0x51e045
xor ecx, ecx
je 0x51e02c
jmp 0x51e03e
adc cl, bh
stc
xor ecx, 3
je 0x51dfc4
jmp 0x51e03b
jmp 0x51e049
jae 0x51e037
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x51e02e
jmp 0x51e028
sbb al, 0xdb
jmp 0x51e051
jmp 0x51e022
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
mov ecx, dword [0x5543c8]
xor ecx, dword [0x5543d8]
xor ecx, dword [0x5543ac]
and ecx, 0x200
test ecx, ecx
je 0x51e07e
mov byte [0x55b3e3], 1
pushal
xor eax, eax
jne 0x51e085
jmp 0x51e09a
jmp 0x51e0ba
xor eax, eax
jne 0x51e0a2
jp 0x51e098
jo 0x51e09c
jmp 0x51e09d
jb 0x51e0a1
jns 0x51e086
call dword [0x74097900]
invalid
jns 0x51e0a3
je 0x51e08c
jmp 0x51e025
xchg ebx, ebx
jp 0x51e091
mov al, byte [0x6a6133]
xor esp, dword [ecx + 0x6a]
add bh, bh
adc eax, fcn.00554050
popal
push 0
call dword [fcn.00554050]
mov edx, dword [0x55440c]
xor edx, dword [0x5543d8]
xor edx, dword [0x5543fc]
add eax, edx
mov dword [0x55b3f4], eax
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x51e0e8
cld
inc ebx
push ebp
add byte [ebx], al
ret 0xf4a3
jmp 0x51e109
xor ebx, ebx
je 0x51e0ec
jmp 0x51e0fb
mov ecx, 0x34f9c987
nop
stc
je 0x51e0ff
jmp 0x51e12f
xor eax, eax
je 0x51e0f1
mov eax, 0x4840c987
test eax, eax
jne 0x51e0e5
jmp 0x92b87e6e
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
mov eax, dword [0x5543d4]
xor eax, dword [0x5543f8]
xor eax, dword [0x5543ac]
add eax, 0xfff
shr eax, 0xc
mov dword [0x55b408], eax
jo 0x51e138
jl 0x51e136
jmp 0x51e13a
je 0x51e133
jmp 0x51e133
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x100], 0xffffffff
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x51e16e
add ebp, ebx
and ch, bl
jmp 0x51e18f
xor ebx, ebx
je 0x51e172
jmp 0x51e181
mov ecx, 0x34f9c987
nop
stc
je 0x51e185
jmp 0x51e1b5
xor eax, eax
je 0x51e177
mov eax, 0x4840c987
test eax, eax
jne 0x51e16b
jmp 0x92b87ef4
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
push 0
call fcn.0052f4b6
add esp, 4
mov esi, eax
call dword [0x55403c]
xor esi, eax
xor esi, dword [0x5543fc]
mov dword [ebp - 0x1910], esi
mov ecx, dword [ebp - 0x1910]
mov dword [ebp - 0x320], ecx
pushal
xor eax, eax
jne 0x51e1ca
invalid
jmp 0x51e1df
jmp 0x51e1ff
xor eax, eax
jne 0x51e1e7
jp 0x51e1dd
jo 0x51e1e1
jmp 0x51e1e2
jb 0x51e1e6
jns 0x51e1cb
call dword [0x74097900]
invalid
jns 0x51e1e8
je 0x51e1d1
jmp 0x51e16a
xchg ebx, ebx
jp 0x51e1d6
mov al, byte [0x85c76133]
int3
xor esp, dword [ecx - 0x39]
test esp, ecx
out 0xff, al
inc dword [eax]
add dword [eax], eax
add byte [ebx - 0x31f7b], cl
call [ecx + 0x2710b9]
add bh, dh
stc
popal
mov dword [ebp - 0x1934], pe_nt_image_headers32
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1928], eax
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1924], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1930], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x192c], edx
mov ecx, dword [ebp - 0x1924]
imul ecx, dword [ebp - 0x192c]
mov edx, dword [ebp - 0x1928]
imul edx, dword [ebp - 0x192c]
mov eax, dword [ebp - 0x1924]
imul eax, dword [ebp - 0x1930]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x1934]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x1920], eax
mov dword [ebp - 0x1948], pe_nt_image_headers32
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x193c], eax
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1938], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1944], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1940], edx
mov ecx, dword [ebp - 0x1938]
imul ecx, dword [ebp - 0x1940]
mov edx, dword [ebp - 0x193c]
imul edx, dword [ebp - 0x1940]
mov eax, dword [ebp - 0x1938]
imul eax, dword [ebp - 0x1944]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x1948]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x1914], eax
mov dword [ebp - 0x195c], pe_nt_image_headers32
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1950], eax
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x194c], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1958], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1954], edx
mov ecx, dword [ebp - 0x194c]
imul ecx, dword [ebp - 0x1954]
mov edx, dword [ebp - 0x1950]
imul edx, dword [ebp - 0x1954]
mov eax, dword [ebp - 0x194c]
imul eax, dword [ebp - 0x1958]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x195c]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x1918], eax
mov dword [ebp - 0x1970], pe_nt_image_headers32
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1964], eax
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1960], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x196c], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1968], edx
mov ecx, dword [ebp - 0x1960]
imul ecx, dword [ebp - 0x1968]
mov edx, dword [ebp - 0x1964]
imul edx, dword [ebp - 0x1968]
mov eax, dword [ebp - 0x1960]
imul eax, dword [ebp - 0x196c]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x1970]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x191c], eax
mov edx, dword [ebp - 0x1918]
shl edx, 8
mov eax, dword [ebp - 0x1914]
shl eax, 0x10
mov ecx, dword [ebp - 0x1920]
shl ecx, 0x18
or ecx, eax
or ecx, edx
or ecx, dword [ebp - 0x191c]
mov dword [ebp - 0x38], ecx
jo 0x51e586
jl 0x51e584
jmp 0x51e588
je 0x51e581
jmp 0x51e581
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x51e5ab
jmp 0x51e5cc
xor ebx, ebx
je 0x51e5af
jmp 0x51e5be
mov ecx, 0x34f9c987
nop
stc
je 0x51e5c2
jmp 0x51e5f2
xor eax, eax
je 0x51e5b4
mov eax, 0x4840c987
test eax, eax
jne 0x51e5a8
jmp 0x92b88331
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
push eax
not eax
bswap eax
pop eax
jae 0x51e5dc
pushfd
pushal
jmp 0x51e60b
sub edx, edx
jo 0x51e5f1
jmp 0x51e602
xor ecx, ecx
je 0x51e5e9
jmp 0x51e5fb
stc
xor ecx, 3
je 0x51e581
jmp 0x51e5f8
add eax, 0x7410ebb9
out dx, eax
jmp 0x51e606
jae 0x51e5f4
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x51e5eb
jmp 0x51e5e5
sbb al, 0xdb
jmp 0x51e60e
jmp 0x51e5df
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
mov dword [ebp - 0x318], 0xc
jo 0x51e62b
jl 0x51e629
jmp 0x51e62d
je 0x51e626
jmp 0x51e626
mov dword [ebp - 0x314], 0
pushal
xor eax, eax
jne 0x51e63e
jmp 0x51e653
jmp 0x51e673
xor eax, eax
jne 0x51e65b
jp 0x51e651
jo 0x51e655
jmp 0x51e656
jb 0x51e65a
jns 0x51e63f
call dword [0x74097900]
invalid
jns 0x51e65c
je 0x51e645
jmp 0x51e5de
xchg ebx, ebx
jp 0x51e64a
mov al, byte [0x85c76133]
invalid
xor esp, dword [ecx - 0x39]
test eax, esi
cld
invalid
popal
mov dword [ebp - 0x310], 1
push eax
not eax
bswap eax
pop eax
jae 0x51e66f
pushfd
pushal
jmp 0x51e69e
sub edx, edx
jo 0x51e684
sal byte [eax + 0xe], cl
jmp 0x51e695
xor ecx, ecx
je 0x51e67c
jmp 0x51e68e
stc
xor ecx, 3
je 0x51e614
jmp 0x51e68b
jmp 0x51e699
jae 0x51e687
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x51e67e
jmp 0x51e678
sbb al, 0xdb
jmp 0x51e6a1
jmp 0x51e672
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
push 0
push 0x1000
push 0
push 4
lea edx, [ebp - 0x318]
push edx
push 0xffffffffffffffff
call dword [0x55410c]
mov dword [ebp - 0x100], eax
cmp dword [ebp - 0x100], 0
jne 0x51e6db
xor al, al
jmp 0x521ec6
call dword [0x554108]
mov dword [ebp - 0x31c], eax
mov dword [ebp - 0x324], 0
push 2
push 1
push 0
lea eax, [ebp - 0x324]
push eax
mov ecx, dword [ebp - 0x31c]
push ecx
mov edx, dword [ebp - 0x31c]
push edx
mov eax, dword [ebp - 0x31c]
push eax
call dword [0x554104]
push 0x1000
push 0
push 0
push 2
mov ecx, dword [ebp - 0x100]
push ecx
call dword [0x554100]
mov dword [0x55b404], eax
xor edx, edx
mov dl, byte [0x55b0c4]
test edx, edx
je 0x51eadf
mov dword [ebp - 0x1994], pe_nt_image_headers32
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1988], eax
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1984], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1990], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x198c], edx
mov ecx, dword [ebp - 0x1984]
imul ecx, dword [ebp - 0x198c]
mov edx, dword [ebp - 0x1988]
imul edx, dword [ebp - 0x198c]
mov eax, dword [ebp - 0x1984]
dec dword [edi]
scasd eax, dword es:[edi]
test dword [eax - 0x1a], esi
invalid
inc dword [ebx]
ret 0xd233
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x1994]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x1980], eax
mov dword [ebp - 0x19a8], pe_nt_image_headers32
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x199c], eax
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1998], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19a4], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19a0], edx
mov ecx, dword [ebp - 0x1998]
imul ecx, dword [ebp - 0x19a0]
mov edx, dword [ebp - 0x199c]
imul edx, dword [ebp - 0x19a0]
mov eax, dword [ebp - 0x1998]
imul eax, dword [ebp - 0x19a4]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x19a8]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x1974], eax
mov dword [ebp - 0x19bc], pe_nt_image_headers32
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19b0], eax
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19ac], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19b8], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19b4], edx
mov ecx, dword [ebp - 0x19ac]
imul ecx, dword [ebp - 0x19b4]
mov edx, dword [ebp - 0x19b0]
imul edx, dword [ebp - 0x19b4]
mov eax, dword [ebp - 0x19ac]
imul eax, dword [ebp - 0x19b8]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x19bc]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x1978], eax
mov dword [ebp - 0x19d0], pe_nt_image_headers32
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19c4], eax
mov eax, dword [ebp - 0x320]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19c0], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19cc], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19c8], edx
mov ecx, dword [ebp - 0x19c0]
imul ecx, dword [ebp - 0x19c8]
mov edx, dword [ebp - 0x19c4]
imul edx, dword [ebp - 0x19c8]
mov eax, dword [ebp - 0x19c0]
imul eax, dword [ebp - 0x19cc]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x320], edx
mov eax, dword [ebp - 0x320]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x19d0]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x197c], eax
mov edx, dword [ebp - 0x1978]
shl edx, 8
mov eax, dword [ebp - 0x1974]
shl eax, 0x10
mov ecx, dword [ebp - 0x1980]
shl ecx, 0x18
or ecx, eax
or ecx, edx
or ecx, dword [ebp - 0x197c]
mov dword [ebp - 0x1af4], ecx
jmp 0x51eae8
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x1af4], edx
mov eax, dword [ebp - 0x1af4]
xor eax, dword [0x5543f8]
xor eax, dword [0x5543d0]
xor eax, dword [0x5543b4]
xor eax, dword [0x5543cc]
xor eax, dword [0x554408]
mov ecx, dword [0x55b404]
mov dword [ecx], eax
mov edx, dword [0x55b404]
mov eax, dword [ebp - 0x324]
mov dword [edx + 4], eax
call dword [0x5541b8]
mov ecx, dword [0x55b404]
mov dword [ecx + 8], eax
mov edx, dword [0x55b404]
mov dword [edx + 0x20], 0
mov eax, dword [ebp - 0x100]
push eax
push 0x554ce4
lea ecx, [ebp - 0x30c]
push ecx
call fcn.0052f1aa
add esp, 0xc
lea edx, [ebp - 0x30c]
push edx
push 0x554ce0
call dword [0x554098]
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x51eb8f
jmp 0x51ebb0
xor ebx, ebx
je 0x51eb93
jmp 0x51eba2
mov ecx, 0x34f9c987
nop
stc
je 0x51eba6
jmp 0x51ebd6
xor eax, eax
je 0x51eb98
mov eax, 0x4840c987
test eax, eax
jne 0x51eb8c
jmp 0x92b88915
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
mov eax, dword [0x55b408]
shl eax, 2
push eax
call fcn.0052e481
add esp, 4
mov dword [ebp - 0x18d8], eax
mov ecx, dword [ebp - 0x18d8]
mov dword [0x55b410], ecx
or eax, 0x55b410
mov edx, dword [0x55b408]
shl edx, 4
shl edx, 2
push edx
call fcn.0052e481
add esp, 4
mov dword [ebp - 0x18dc], eax
mov eax, dword [ebp - 0x18dc]
mov dword [0x55b3ec], eax
mov ecx, dword [0x55b408]
shl ecx, 2
push ecx
call fcn.0052e481
add esp, 4
mov dword [ebp - 0x18e0], eax
mov edx, dword [ebp - 0x18e0]
mov dword [0x55b414], edx
mov eax, dword [0x55b408]
shl eax, 2
push eax
call fcn.0052e481
add esp, 4
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x18e4]
mov dword [0x55b418], ecx
push 0x1000
call fcn.0052e481
add esp, 4
mov dword [ebp - 0x18e8], eax
mov edx, dword [ebp - 0x18e8]
mov dword [0x55b41c], edx
mov eax, dword [0x55b408]
shl eax, 2
push eax
call fcn.0052e481
add esp, 4
mov dword [ebp - 0x18ec], eax
mov ecx, dword [ebp - 0x18ec]
mov dword [0x55b3e8], ecx
push eax
not eax
bswap eax
pop eax
jae 0x51ec92
test dword [edi], ebx
invalid
pushfd
pushal
jmp 0x51ecc1
sub edx, edx
jo 0x51eca7
jmp 0x51ecb8
xor ecx, ecx
je 0x51ec9f
jmp 0x51ecb1
stc
xor ecx, 3
je 0x51ec37
jmp 0x51ecae
jmp 0x51ecbc
jae 0x51ecaa
sbb bl, bl
sbb bl, bl
xor ebx, ebx
jmp 0x51eca1
jmp 0x51ec9b
sbb al, 0xdb
jmp 0x51ecc4
jmp 0x51ec95
popal
popfd
bswap eax
not ecx
bswap eax
not ecx
mov edx, dword [0x5543d0]
xor edx, dword [ebp - 0x38]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x48], 0
jmp 0x51ecec
mov eax, dword [ebp - 0x48]
add eax, 1
mov dword [ebp - 0x48], eax
mov ecx, dword [0x55b408]
shl ecx, 4
cmp dword [ebp - 0x48], ecx
jge 0x51f08d
mov dword [ebp - 0x19f4], pe_nt_image_headers32
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19e8], eax
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19e4], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19f0], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19ec], edx
mov ecx, dword [ebp - 0x19e4]
imul ecx, dword [ebp - 0x19ec]
mov edx, dword [ebp - 0x19e8]
imul edx, dword [ebp - 0x19ec]
mov eax, dword [ebp - 0x19e4]
imul eax, dword [ebp - 0x19f0]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x19f4]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x19e0], eax
mov dword [ebp - 0x1a08], pe_nt_image_headers32
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19fc], eax
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x19f8], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a04], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a00], edx
mov ecx, dword [ebp - 0x19f8]
imul ecx, dword [ebp - 0x1a00]
mov edx, dword [ebp - 0x19fc]
imul edx, dword [ebp - 0x1a00]
mov eax, dword [ebp - 0x19f8]
imul eax, dword [ebp - 0x1a04]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x1a08]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x19d4], eax
mov dword [ebp - 0x1a1c], pe_nt_image_headers32
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a10], eax
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a0c], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a18], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a14], edx
mov ecx, dword [ebp - 0x1a0c]
imul ecx, dword [ebp - 0x1a14]
mov edx, dword [ebp - 0x1a10]
imul edx, dword [ebp - 0x1a14]
mov eax, dword [ebp - 0x1a0c]
imul eax, dword [ebp - 0x1a18]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x1a1c]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x19d8], eax
mov dword [ebp - 0x1a30], pe_nt_image_headers32
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a24], eax
mov eax, dword [ebp - 0x24]
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a20], edx
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a2c], eax
mov eax, 0x1df5e0d
cdq
mov ecx, 0x2710
idiv ecx
mov dword [ebp - 0x1a28], edx
mov ecx, dword [ebp - 0x1a20]
imul ecx, dword [ebp - 0x1a28]
mov edx, dword [ebp - 0x1a24]
imul edx, dword [ebp - 0x1a28]
mov eax, dword [ebp - 0x1a20]
imul eax, dword [ebp - 0x1a2c]
add eax, edx
xor edx, edx
mov esi, 0x2710
div esi
mov eax, edx
imul eax, eax, 0x2710
add eax, ecx
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov eax, edx
add eax, 1
xor edx, edx
mov ecx, 0x5f5e100
div ecx
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
xor edx, edx
mov ecx, 0x2710
div ecx
imul eax, dword [ebp - 0x1a30]
xor edx, edx
mov ecx, 0x2710
div ecx
and eax, 0xff
mov dword [ebp - 0x19dc], eax
mov edx, dword [ebp - 0x19d8]
shl edx, 8
mov eax, dword [ebp - 0x19d4]
shl eax, 0x10
mov ecx, dword [ebp - 0x19e0]
shl ecx, 0x18
or ecx, eax
or ecx, edx
or ecx, dword [ebp - 0x19dc]
xor ecx, dword [0x5543f8]
xor ecx, dword [0x5543d0]
xor ecx, dword [0x5543b4]
xor ecx, dword [0x5543cc]
xor ecx, dword [0x554408]
mov edx, dword [ebp - 0x48]
mov eax, dword [0x55b3ec]
mov dword [eax + edx*4], ecx
jmp 0x51ece3
pushal
xor eax, eax
jne 0x51f094
jmp 0x51f0a9
jmp 0x51f0c9
xor eax, eax
jne 0x51f0b1
jp 0x51f0a7
jo 0x51f0ab
jmp 0x51f0ac
jb 0x51f0b0
jns 0x51f095
call dword [0x74097900]
invalid
jns 0x51f0b2
je 0x51f09b
jmp 0x51f034
xchg ebx, ebx
jp 0x51f0a0
mov al, byte [0x45c76133]
xor esp, dword [ecx - 0x39]
inc ebp
popal
mov dword [ebp - 0x48], 0
mov eax, 0
jmp 0x51f0c5
mov ecx, dword [ebp - 0x48]
add ecx, 1
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x48]
cmp edx, dword [0x55b408]
adc eax, 0x55b408
jge 0x51f111
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x55b410]
mov dword [ecx + eax*4], 0xffffffff
mov edx, dword [ebp - 0x48]
mov eax, dword [0x55b414]
mov dword [eax + edx*4], 0
mov ecx, dword [ebp - 0x48]
mov edx, dword [0x55b418]
mov dword [edx + ecx*4], 0xffffffff
mov eax, dword [ebp - 0x48]
mov ecx, dword [0x55b3e8]
mov dword [ecx + eax*4], 0
jmp 0x51f0bc
push ecx
bswap ecx
not ecx
push eax
not eax
mov eax, 0x6c65696d
xchg ecx, eax
mov ecx, 0xdeadc0de
xchg ecx, eax
not eax
pop eax
not ecx
pop ecx
pushfd
pushal
xor ebx, ebx
je 0x51f134
jmp 0x51f155
xor ebx, ebx
je 0x51f138
jmp 0x51f147
mov ecx, 0x34f9c987
nop
stc
je 0x51f14b
jmp 0x51f17b
xor eax, eax
je 0x51f13d
mov eax, 0x4840c987
test eax, eax
jne 0x51f131
jmp 0x92b88eba
popal
popfd
xchg dx, ax
xchg dx, ax
mov eax, eax
mov edx, dword [0x55b408]
sar edx, 1
add edx, 1
mov dword [0x554818], edx
xor eax, eax
mov al, byte [0x55b3e2]
test eax, eax
jne 0x51f1bf
jo 0x51f182
jl 0x51f180
jmp 0x51f184
je 0x51f17d
jmp 0x51f17d
cmp dword [0x554818], 6
jae 0x51f197
mov dword [0x554818], 6
pushal
xor eax, eax
jne 0x51f19e
jmp 0x51f1b3
jmp 0x51f1d3
push eax
not eax
bswap eax
pop eax
jae 0x51f1c7
pushfd
pushal
jmp 0x51f1f6
sub edx, edx
jo 0x51f1dc
jmp 0x51f1ed
jmp 0x51f1e3
jae 0x51f1df
jmp 0x51f1d0
jmp 0x51f1ca
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret