Function at 0x429180
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34c
push esi
push edi
mov dword [ebp - 0x2fc], ecx
mov eax, dword [ebp - 0x2fc]
cmp dword [eax + 0x58], 0
jne 0x4291a7
mov eax, 0x80004005
jmp 0x429baf
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x674]
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x674]
mov edx, dword [edx]
push ecx
call dword [edx + 0x10]
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x678]
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x678]
mov ecx, dword [ecx]
push eax
call dword [ecx + 0x14]
push 0x144
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x58]
mov eax, dword [eax]
push edx
call dword [eax + 0x164]
push 0
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x58]
mov edx, dword [edx]
push ecx
call dword [edx + 0x1ac]
push 0x1c
push 0
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x60]
push ecx
push 0
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x58]
mov eax, dword [eax]
push edx
call dword [eax + 0x190]
mov ecx, dword [ebp + 0x18]
and ecx, 8
je 0x429295
push 2
push 6
push 0
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x58]
mov eax, dword [eax]
push edx
call dword [eax + 0x114]
push 2
push 5
push 0
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x58]
mov edx, dword [edx]
push ecx
call dword [edx + 0x114]
mov eax, dword [ebp + 0x18]
and eax, 1
je 0x4293c9
lea ecx, [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x58]
mov eax, dword [eax]
push edx
call dword [eax + 0xc0]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x2c], 0
mov edx, dword [ebp - 0x10]
movsx eax, byte [edx]
test eax, eax
je 0x4293a4
mov ecx, dword [ebp - 0x10]
mov dl, byte [ecx]
mov byte [ebp - 0x39], dl
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
movsx ecx, byte [ebp - 0x39]
cmp ecx, 0xa
jne 0x4292fa
jmp 0x4293a4
movsx edx, byte [ebp - 0x39]
sub edx, 0x20
js 0x42930f
movsx eax, byte [ebp - 0x39]
sub eax, 0x20
cmp eax, 0x60
jl 0x429311
jmp 0x4292cd
movsx ecx, byte [ebp - 0x39]
sub ecx, 0x20
shl ecx, 4
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + ecx + 0x70]
mov dword [ebp - 0x38], eax
movsx ecx, byte [ebp - 0x39]
sub ecx, 0x20
shl ecx, 4
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x34], eax
fld dword [ebp - 0x34]
fsub dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x64]
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x300], 0
fild qword [ebp - 0x304]
fmulp st(1)
mov eax, dword [ebp - 0x2fc]
fdiv dword [eax + 0x6c]
fstp dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x670]
shl edx, 1
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x308], 0
fild qword [ebp - 0x30c]
fsubr dword [ebp - 0x30]
fadd dword [ebp - 0x2c]
fstp dword [ebp - 0x2c]
jmp 0x4292cd
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x310], 0
fild qword [ebp - 0x314]
fsub dword [ebp - 0x2c]
fdiv dword [0x6928b4]
fstp dword [ebp + 8]
mov ecx, dword [ebp + 0x18]
and ecx, 2
je 0x42944b
lea edx, [ebp - 0x58]
push edx
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x58]
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x58]
mov ecx, dword [ecx]
push eax
call dword [ecx + 0xc0]
mov edx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x2fc]
fld dword [edx + 0x7c]
fsub dword [eax + 0x74]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x31c], edx
mov dword [ebp - 0x318], 0
fild qword [ebp - 0x31c]
fmulp st(1)
fstp dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], 0
fild qword [ebp - 0x324]
fsub dword [ebp - 0x40]
fdiv dword [0x6928b4]
fstp dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x670]
mov dword [ebp - 0x32c], edx
mov dword [ebp - 0x328], 0
fild qword [ebp - 0x32c]
fsubr dword [ebp + 8]
fstp dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 0
push 0x2000
lea ecx, [ebp - 0xc]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x60]
mov eax, dword [eax]
push edx
call dword [eax + 0x2c]
mov ecx, dword [ebp + 0x14]
movsx edx, byte [ecx]
test edx, edx
je 0x429b4e
mov eax, dword [ebp + 0x14]
mov cl, byte [eax]
mov byte [ebp - 0x71], cl
mov edx, dword [ebp + 0x14]
add edx, 1
mov dword [ebp + 0x14], edx
movsx eax, byte [ebp - 0x71]
cmp eax, 0xa
jne 0x429513
mov ecx, dword [ebp - 8]
mov dword [ebp + 8], ecx
mov edx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x2fc]
fld dword [edx + 0x7c]
fsub dword [eax + 0x74]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x334], edx
mov dword [ebp - 0x330], 0
fild qword [ebp - 0x334]
fmulp st(1)
fadd dword [ebp + 0xc]
fstp dword [ebp + 0xc]
movsx eax, byte [ebp - 0x71]
sub eax, 0x20
js 0x429528
movsx ecx, byte [ebp - 0x71]
sub ecx, 0x20
cmp ecx, 0x60
jl 0x42952a
jmp 0x4294ac
movsx edx, byte [ebp - 0x71]
sub edx, 0x20
shl edx, 4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + edx + 0x70]
mov dword [ebp - 0x70], ecx
movsx edx, byte [ebp - 0x71]
sub edx, 0x20
shl edx, 4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + edx + 0x74]
mov dword [ebp - 0x6c], ecx
movsx edx, byte [ebp - 0x71]
sub edx, 0x20
shl edx, 4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x68], ecx
movsx edx, byte [ebp - 0x71]
sub edx, 0x20
shl edx, 4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + edx + 0x7c]
mov dword [ebp - 0x60], ecx
fld dword [ebp - 0x68]
fsub dword [ebp - 0x70]
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x64]
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x338], 0
fild qword [ebp - 0x33c]
fmulp st(1)
mov ecx, dword [ebp - 0x2fc]
fdiv dword [ecx + 0x6c]
fstp dword [ebp - 0x5c]
fld dword [ebp - 0x60]
fsub dword [ebp - 0x6c]
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x68]
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x340], 0
fild qword [ebp - 0x344]
fmulp st(1)
mov ecx, dword [ebp - 0x2fc]
fdiv dword [ecx + 0x6c]
fstp dword [ebp - 0x64]
movsx edx, byte [ebp - 0x71]
cmp edx, 0x20
je 0x429b1c
fld dword [ebp + 8]
fadd dword [0x6ce044]
fsub dword [0x692e8c]
fstp dword [ebp - 0xa0]
fld dword [ebp + 0xc]
fadd dword [ebp - 0x64]
fsub dword [0x692e8c]
fstp dword [ebp - 0x9c]
mov dword [ebp - 0x98], 0x3f666666
mov dword [ebp - 0x94], 0x3f800000
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x254], eax
mov ecx, 7
lea esi, [ebp - 0x26c]
lea edi, [ebp - 0xc0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0xc0]
lea edi, [ebp - 0x90]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x90]
mov edi, dword [ebp - 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
add ecx, 0x1c
mov dword [ebp - 0xc], ecx
fld dword [ebp + 8]
fadd dword [0x6ce044]
fsub dword [0x692e8c]
fstp dword [ebp - 0xec]
fld dword [ebp + 0xc]
fadd dword [0x6ce044]
fsub dword [0x692e8c]
fstp dword [ebp - 0xe8]
mov dword [ebp - 0xe4], 0x3f666666
mov dword [ebp - 0xe0], 0x3f800000
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0x288], edx
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x27c], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0x270], edx
mov ecx, 7
lea esi, [ebp - 0x288]
lea edi, [ebp - 0x110]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x110]
lea edi, [ebp - 0xdc]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0xdc]
mov edi, dword [ebp - 0xc]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
add eax, 0x1c
mov dword [ebp - 0xc], eax
fld dword [ebp + 8]
fadd dword [ebp - 0x5c]
fsub dword [0x692e8c]
fstp dword [ebp - 0x13c]
fld dword [ebp + 0xc]
fadd dword [ebp - 0x64]
fsub dword [0x692e8c]
fstp dword [ebp - 0x138]
mov dword [ebp - 0x134], 0x3f666666
mov dword [ebp - 0x130], 0x3f800000
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x2a4], ecx
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x2a0], edx
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x29c], eax
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x294], edx
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x290], eax
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x28c], ecx
mov ecx, 7
lea esi, [ebp - 0x2a4]
lea edi, [ebp - 0x160]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x160]
lea edi, [ebp - 0x12c]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x12c]
mov edi, dword [ebp - 0xc]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0xc]
add edx, 0x1c
mov dword [ebp - 0xc], edx
fld dword [ebp + 8]
fadd dword [ebp - 0x5c]
fsub dword [0x692e8c]
fstp dword [ebp - 0x18c]
fld dword [ebp + 0xc]
fadd dword [0x6ce044]
fsub dword [0x692e8c]
fstp dword [ebp - 0x188]
mov dword [ebp - 0x184], 0x3f666666
mov dword [ebp - 0x180], 0x3f800000
mov eax, dword [ebp - 0x18c]
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x188]
mov dword [ebp - 0x2bc], ecx
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x2b8], edx
mov eax, dword [ebp - 0x180]
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x2b0], ecx
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x2ac], edx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2a8], eax
mov ecx, 7
lea esi, [ebp - 0x2c0]
lea edi, [ebp - 0x1b0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x1b0]
lea edi, [ebp - 0x17c]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x17c]
mov edi, dword [ebp - 0xc]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xc]
add ecx, 0x1c
mov dword [ebp - 0xc], ecx
fld dword [ebp + 8]
fadd dword [ebp - 0x5c]
fsub dword [0x692e8c]
fstp dword [ebp - 0x1dc]
fld dword [ebp + 0xc]
fadd dword [ebp - 0x64]
fsub dword [0x692e8c]
fstp dword [ebp - 0x1d8]
mov dword [ebp - 0x1d4], 0x3f666666
mov dword [ebp - 0x1d0], 0x3f800000
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x2dc], edx
mov eax, dword [ebp - 0x1d8]
mov dword [ebp - 0x2d8], eax
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x2d4], ecx
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x2d0], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2cc], eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x2c4], edx
mov ecx, 7
lea esi, [ebp - 0x2dc]
lea edi, [ebp - 0x200]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x200]
lea edi, [ebp - 0x1cc]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x1cc]
mov edi, dword [ebp - 0xc]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xc]
add eax, 0x1c
mov dword [ebp - 0xc], eax
fld dword [ebp + 8]
fadd dword [0x6ce044]
fsub dword [0x692e8c]
fstp dword [ebp - 0x22c]
fld dword [ebp + 0xc]
fadd dword [0x6ce044]
fsub dword [0x692e8c]
fstp dword [ebp - 0x228]
mov dword [ebp - 0x224], 0x3f666666
mov dword [ebp - 0x220], 0x3f800000
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x228]
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x2e0], ecx
mov ecx, 7
lea esi, [ebp - 0x2f8]
lea edi, [ebp - 0x250]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x250]
lea edi, [ebp - 0x21c]
rep movsd dword es:[edi], dword [esi]
mov ecx, 7
lea esi, [ebp - 0x21c]
mov edi, dword [ebp - 0xc]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebp - 0xc]
add edx, 0x1c
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
add eax, 2
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
imul ecx, ecx, 3
cmp ecx, 0x126
jbe 0x429b1c
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x60]
mov eax, dword [eax]
push edx
call dword [eax + 0x30]
mov ecx, dword [ebp - 4]
push ecx
push 0
push 4
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x58]
mov eax, dword [eax]
push edx
call dword [eax + 0x144]
mov dword [ebp - 0xc], 0
push 0x2000
lea ecx, [ebp - 0xc]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x60]
mov eax, dword [eax]
push edx
call dword [eax + 0x2c]
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x670]
shl edx, 1
mov dword [ebp - 0x34c], edx
mov dword [ebp - 0x348], 0
fild qword [ebp - 0x34c]
fsubr dword [ebp - 0x5c]
fadd dword [ebp + 8]
fstp dword [ebp + 8]
jmp 0x4294ac
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x60]
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x60]
mov ecx, dword [ecx]
push eax
call dword [ecx + 0x30]
cmp dword [ebp - 4], 0
jbe 0x429b8f
mov edx, dword [ebp - 4]
push edx
push 0
push 4
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax + 0x58]
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x58]
mov ecx, dword [ecx]
push eax
call dword [ecx + 0x144]
mov edx, dword [ebp - 0x2fc]
mov eax, dword [edx + 0x674]
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x674]
mov eax, dword [eax]
push edx
call dword [eax + 0x14]
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x14